Articles of c # 7.0

È ansible distribuire un’app Web C # 7 in Azure utilizzando Kudu?

Poiché Visual Studio 2017 è stato rilasciato e possiamo utilizzare le nuove funzionalità di C # 7, mi aspettavo che funzionasse durante la distribuzione su app Web di Azure. Purtroppo stiamo riscontrando errori di compilazione quando si utilizza la distribuzione continua (kudu git deploy), quindi sembra che Azure non supporti ancora la nuova toolchain. C’è […]

La corrispondenza del modello uguale a nullo vs è nullo

Da Microsoft new-features-in-c-7-0: public void PrintStars(object o) { if (o is null) return; // constant pattern “null” if (!(o is int i)) return; // type pattern “int i” WriteLine(new string(‘*’, i)); } Qual’è la differenza di o == null e o is null ?

Costruire il progetto msbuild 15 a livello di programmazione

Sto cercando di creare un semplice progetto di libreria di classi C # 7 creato con VS2017. MSBuild dagli assembly framework è obsoleto, quindi mi riferisco a Microsoft.Build , Microsoft.Build.Engine e Microsoft.Build.Framework dalla cartella MSBuild all’interno di Visual Studio ( C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin ). Tuttavia, quando lo faccio: using (var collection = new […]

Sintassi della tupla in VS 2017

In VS2017 RC, quando hai provato ad usare la nuova syntax della tupla, hai ricevuto il seguente errore: CS8179 Il tipo predefinito ‘System.ValueTuple`X’ non è definito o importato Per utilizzare la syntax della tupla, è necessario importare manualmente il pacchetto nuget ValueTuple nel progetto. Non è un grosso problema, dato che era una versione pre-release […]

Come restituire più valori in C # 7?

Un compagno di squadra mi ha detto che in C # 7.0 è ansible restituire più valori da una funzione in modo nativo. Qualcuno può fornire qualche esempio? Grazie

Quando usare: Tuple vs Class c # 7.0

Prima di Tuples, ho usato per creare una class e le sue variabili quindi creare oggetti da questa class e rendere quell’object il tipo di ritorno per alcune funzioni. Ora con le tuple posso fare lo stesso e in c # 7.0 possiamo assegnare nomi comprensibili per le proprietà delle tuple (prima era item1 , […]

In C # puoi definire un alias con una tupla di valori con nomi?

So che è ansible definire alias in C # con la parola chiave using . per esempio using ResponseKey = System.ValueTuple; Tuttavia, è ansible definirne uno utilizzando la nuova syntax per le tuple valore? using ResponseKey = (Guid venueId, string contentId, string answer); Questa syntax non sembra funzionare. Dovrebbe?

Semantica di corrispondenza del modello C # 7

Ho i due blocchi di codice che mi piacerebbe pensare siano uguali: Prima il blocco basato su if Quindi lo stesso identico, ma convertito per passare da un caso all’altro. (scusate per i marcatori con ondulati rossi di Resharper, Resharper non lo capisce ancora) Il codice basato su switch genererà un’eccezione di riferimento Null sul […]

C # 7 come unità di test delle funzioni locali

Ho esaminato alcuni articoli sulle funzioni locali e l’una frase afferma: Le funzioni locali sono definite all’interno di un metodo e non sono disponibili al di fuori di esso Quindi dato l’esempio di codice seguente c’è un modo per testare il metodo square ? int SumAndSquare(int x, int y) { var sum = x + […]

Compilare gli errori quando si utilizzano le funzionalità C # 7 nel nuovo progetto VS. ASP.NET MVC 5.2.3 di VS Studio

Sto usando VS 2017 di solito per le applicazioni della console. Ma ora devo creare un nuovo progetto MVC ASP.NET e ho trovato qualcosa di curioso. Generazione automatica di getter e setter (menu contestuale “Azioni rapide e refactoring <Campo Ecapsulate (e utilizza proprietà)") genera un errore di compilazione. Per dare un esempio semplice: public class […]