Per problemi relativi allo sviluppo con la versione 8.0 del linguaggio C #. Questa versione aggiunge tipi di riferimento nullable, metodi di interfaccia predefiniti, enumerabili asincroni e altre funzionalità e miglioramenti
C # 8.0 introduce un modo conveniente per tagliare le matrici - vedi il blogpost ufficiale di C # 8.0 . La sintassi per accedere all'ultimo elemento di un array è int value[] = { 10, 11, 12, 13 }; int a = value[^1]; // 13 int b = value[^2]; …
Nelle impostazioni di compilazione avanzata di Visual Studio 2019, C # 8 non sembra essere disponibile per un progetto .NET Framework, solo (come nell'immagine seguente) per un progetto .NET Core 3.0: C # 8 supporta .NET Framework?
A volte vedo il seguente codice e non ho idea di cosa stia testando l'espressione. public static void Something(string[] value) { if (value is { }) { DoSomethingElse(); } }
Ho un'interfaccia che è scritta in questo modo: public interface IItemRetriever { public IAsyncEnumerable<string> GetItemsAsync(); } Voglio scrivere un'implementazione vuota che non restituisce alcun elemento, in questo modo: public class EmptyItemRetriever : IItemRetriever { public IAsyncEnumerable<string> GetItemsAsync() { // What do I put here if nothing is to be done? …
Di recente ho scritto del codice in cui ho riutilizzato involontariamente un nome di variabile come parametro di un'azione dichiarata all'interno di una funzione che ha già una variabile con lo stesso nome. Per esempio: var x = 1; Action<int> myAction = (x) => { Console.WriteLine(x); }; Quando ho notato …
Ho notato che in alcuni casi Visual Studio consiglia di eseguire questa operazione await using var disposable = new Disposable(); // Do something Invece di questo using var disposable = new Disposable(); // Do something Qual è la differenza tra usinge await using? Come dovrei decidere quale usare?
Ho un DTO che viene popolato leggendo da una tabella DynamoDB. Di 'che al momento sembra così: public class Item { public string Id { get; set; } // PK so technically cannot be null public string Name { get; set; } // validation to prevent nulls but this doesn't …
Quindi in C # 8 abbiamo ottenuto l'aggiunta IAsyncEnumerabledell'interfaccia. Se abbiamo un normale IEnumerablepossiamo fare una Listo più qualsiasi altra collezione che vogliamo da essa. Grazie a Linq lì. var range = Enumerable.Range(0, 100); var list = range.ToList(); Bene, ora voglio convertire il mio IAsyncEnumerablein un Liste questo ovviamente in …
In C # 8.0 possiamo avere tipi di riferimento nulli. I documenti affermano che esistono 4 tipi di nullability. I primi 3 sono abbastanza chiari ma non riesco a capire il punto di "sconosciuto". I documenti dicono che è usato con generici ma quando provo a chiamare un metodo su …
Diciamo che richiedo un file json di grandi dimensioni che contiene un elenco di molti oggetti. Non voglio che siano in memoria tutti in una volta, ma preferirei leggerli ed elaborarli uno per uno. Quindi ho bisogno di trasformare un System.IO.Streamflusso asincrono in un IAsyncEnumerable<T>. Come posso usare la nuova …
Mi sembra che non ci sia davvero alcuna garanzia che una variabile non nullable non avrà mai null. Immagina di avere una classe che ha una proprietà che non è nullable: public class Foo { public Foo(string test) { Test = test; } public string Test {get;set;} } Ora potrebbe …
Dopo che C # 5 ha introdotto il modello asynce awaitper la programmazione asincrona, la comunità C # è arrivata a una convenzione di denominazione per aggiungere un suffisso "Async" ai metodi che restituiscono un tipo attendibile, come questo: interface Foo { Task BarAsync(); } Da allora, molti analizzatori di …
Volevo testare la nuova funzionalità dei tipi di riferimento nullable in C # 8.0. Ho avviato un nuovo progetto destinato a .NET Core 3.0, abilitato i tipi di riferimento nullable nel .csprojfile e ho iniziato a scrivere codice. Ho creato un semplice elenco che accetta un string[]e restituisce stringin quell'array …
Perché il comportamento dei metodi di interfaccia predefiniti è cambiato in C # 8? In passato il seguente codice (quando non sono stati rilasciati i metodi dell'interfaccia predefinita): interface IDefaultInterfaceMethod { // By default, this method will be virtual, and the virtual keyword can be here used! virtual void DefaultMethod() …
Dopo aver letto questa domanda su HNQ, ho continuato a leggere su Nullable Reference Tipi in C # 8 e ho fatto alcuni esperimenti. Sono consapevole che 9 volte su 10, o anche più spesso, quando qualcuno dice "Ho trovato un bug del compilatore!" questo è in realtà di progettazione …
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.