Sono confuso sul perché questo codice non verrà compilato: var result = $"{fieldName}{isDescending ? " desc" : string.Empty}"; Se lo divido, funziona bene: var desc = isDescending ? " desc" : string.Empty; var result = $"{fieldName}{desc}";
Con C # 6.0 nell'anteprima di VS2015 abbiamo un nuovo operatore ?., che può essere usato in questo modo: public class A { string PropertyOfA { get; set; } } ... var a = new A(); var foo = "bar"; if(a?.PropertyOfA != foo) { //somecode } Che cosa fa esattamente?
Ho creato un progetto di esempio, con goodies di C # 6.0 - propagazione nulla e inizializzazione delle proprietà come esempio, impostare la versione di destinazione .NET 4.0 e ... funziona. public class Cat { public int TailLength { get; set; } = 4; public Cat Friend { get; set; …
La versione 6.0 ha una nuova funzionalità di nameof, ma non riesco a capirne lo scopo, in quanto prende semplicemente il nome della variabile e lo cambia in una stringa durante la compilazione. Ho pensato che potesse avere qualche scopo durante l'utilizzo, <T>ma quando ci provo nameof(T)mi stampa solo un …
Mi sono imbattuto in un codice che diceva public int MaxHealth => Memory[Address].IsValid ? Memory[Address].Read<int>(Offs.Life.MaxHp) : 0; Ora ho una certa familiarità con le espressioni Lambda. Non l'ho visto usato così. Quale sarebbe la differenza tra l'affermazione di cui sopra e public int MaxHealth = x ? y:z;
Stavo esaminando le ultime funzionalità introdotte in C # 6.0 e ho appena seguito un esempio di inizializzatore automatico delle proprietà, class NewSample { public Guid Id { get; } = Guid.NewGuid(); } ma il mio IDE non ha riconosciuto la sintassi. Mi chiedo come potrei abilitare C # 6.0 …
sfondo Abbiamo un progetto che stiamo sviluppando in VS 2015 con C # 6 abilitato che a volte deve essere aperto dagli sviluppatori che usano VS 2013 senza C # 6. Non abbiamo intenzione di usare C # 6 all'interno di questa particolare soluzione (per quanto mi piacerebbe). Problema Visual …
Sto testando Visual Studio 2015 con C # 6.0 ma le funzionalità del linguaggio non funzionano. In un'applicazione Web MVC, viene compilato il seguente codice: if (!string.IsNullOrWhiteSpace(Model.Profile?.TypeName)) { // More logic here... } Tuttavia, quando eseguo l'applicazione tramite Debug e IIS Express, viene visualizzato il seguente errore: CS1525: Termine di …
Ho scoperto che mentre l'interpolazione di stringhe è davvero piacevole se applicata alle chiamate di formato stringa della mia base di codice esistente, dato il limite di colonna generalmente preferito, la stringa diventa rapidamente troppo lunga per una singola riga. Soprattutto quando le espressioni interpolate sono complesse. Con una stringa …
Come parte della documentazione di Roslyn su GitHub, c'è una pagina chiamata Stato dell'implementazione delle funzionalità del linguaggio , con funzionalità di lingua pianificate per C # e VB. Una caratteristica che non riuscivo a comprendere è il private protectedmodificatore di accesso: private protected string GetId() { … } C'è …
In C # 6 c'è una nuova funzionalità: stringhe interpolate. Questi ti consentono di inserire le espressioni direttamente nel codice, anziché fare affidamento sugli indici: string s = string.Format("Adding \"{0}\" and {1} to foobar.", x, this.Y()); diventa: string s = $"Adding \"{x}\" and {this.Y()} to foobar."; Tuttavia, abbiamo molte stringhe …
Aggiornato un sito Web esistente tipo di progetto di Visual Studio 2015, ho modificato il Framework in 4.6. Quindi mi aspettavo di avere tutte quelle nuove funzionalità disponibili nel mio codice dietro i file. Purtroppo ricevo errori come: Errore CS8026: la funzionalità "proprietà con corpo di espressione" non è disponibile …
Sto esaminando un paio delle nuove funzionalità di C # 6, in particolare "utilizzo statico" . using static è un nuovo tipo di clausola using che consente di importare membri statici di tipi direttamente nell'ambito. (In fondo al post del blog) L'idea è la seguente, secondo un paio di tutorial …
In C # 6 è possibile utilizzare l' nameof()operatore per ottenere una stringa contenente il nome di una variabile o di un tipo. Viene valutato in fase di compilazione o in fase di esecuzione tramite alcune API Roslyn?
Voglio usare C # 6 nel mio progetto (propagazione nulla, altre funzionalità). Ho installato VS 2015 sul mio PC e funziona perfettamente e crea codice di test come var user = new SingleUserModel(); //all model fields are null var test = user.User?.Avatar?["blah"]; Ma quando eseguo il push del mio progetto …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.