Pour les problèmes liés au développement avec la version 8.0 du langage C #. Cette version ajoute des types de référence Nullable, des méthodes d'interface par défaut, des énumérables asynchrones et d'autres fonctionnalités et améliorations
C # 8.0 présente un moyen pratique de découper des tableaux - voir le blog officiel de C # 8.0 . La syntaxe pour accéder au dernier élément d'un tableau est int value[] = { 10, 11, 12, 13 }; int a = value[^1]; // 13 int b = value[^2]; …
Dans les paramètres de génération avancée de Visual Studio 2019, C # 8 ne semble pas être disponible pour un projet .NET Framework, uniquement (comme dans l'image ci-dessous) pour un projet .NET Core 3.0: C # 8 prend-il en charge le .NET Framework?
Je vois parfois le code suivant et je n'ai aucune idée de ce que l'expression teste réellement. public static void Something(string[] value) { if (value is { }) { DoSomethingElse(); } }
J'ai une interface qui est écrite comme ceci: public interface IItemRetriever { public IAsyncEnumerable<string> GetItemsAsync(); } Je veux écrire une implémentation vide qui ne renvoie aucun élément, comme ceci: public class EmptyItemRetriever : IItemRetriever { public IAsyncEnumerable<string> GetItemsAsync() { // What do I put here if nothing is to be …
J'ai récemment écrit du code où j'ai involontairement réutilisé un nom de variable comme paramètre d'une action déclarée dans une fonction qui a déjà une variable du même nom. Par exemple: var x = 1; Action<int> myAction = (x) => { Console.WriteLine(x); }; Lorsque j'ai repéré la duplication, j'ai été …
J'ai remarqué que dans certains cas, Visual Studio recommande de le faire await using var disposable = new Disposable(); // Do something au lieu de cela using var disposable = new Disposable(); // Do something Quelle est la difference entre usinget await using? Comment dois-je décider lequel utiliser?
J'ai un DTO qui est rempli en lisant une table DynamoDB. Disons que cela ressemble à ceci actuellement: 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 …
Donc, en C # 8, nous avons obtenu l'ajout de l' IAsyncEnumerableinterface. Si nous avons une normale, IEnumerablenous pouvons en faire une Listou presque toute autre collection que nous voulons. Merci à Linq là-bas. var range = Enumerable.Range(0, 100); var list = range.ToList(); Eh bien maintenant, je veux convertir mon …
En C # 8.0, nous pouvons avoir des types de référence nullables. Les documents indiquent qu'il existe 4 types de nullité. Les 3 premiers sont assez clairs mais je n'arrive pas à comprendre le point «inconnu». Les documents disent qu'il est utilisé avec des génériques, mais lorsque j'essaie d'appeler une …
Disons que je demande un gros fichier json qui contient une liste de nombreux objets. Je ne veux pas qu'ils soient en mémoire d'un seul coup, mais je préfère les lire et les traiter un par un. J'ai donc besoin de transformer un System.IO.Streamflux asynchrone en un IAsyncEnumerable<T>. Comment utiliser …
Il me semble qu'il n'y a vraiment aucune garantie qu'une variable non nullable n'aura jamais null. Imaginez que j'ai une classe qui a une propriété qui n'est pas nullable: public class Foo { public Foo(string test) { Test = test; } public string Test {get;set;} } Maintenant, cela pourrait sembler …
Après que C # 5 a introduit le modèle asyncet awaitpour la programmation asynchrone, la communauté C # est arrivée à une convention de dénomination pour ajouter un suffixe "Async" aux méthodes renvoyant un type attendu, comme ceci: interface Foo { Task BarAsync(); } De nombreux analyseurs de code statique …
Je voulais tester la nouvelle fonctionnalité de types de référence nullable dans C # 8.0. J'ai commencé un nouveau projet ciblant .NET Core 3.0, activé les types de référence nullables dans le .csprojfichier et commencé à coder. J'ai créé une liste simple qui prend un string[]et renvoie le stringdans ce …
Pourquoi le comportement des méthodes d'interface par défaut est-il modifié en C # 8? Dans le passé, le code suivant (lorsque la démonstration des méthodes d'interface par défaut n'était pas publiée): interface IDefaultInterfaceMethod { // By default, this method will be virtual, and the virtual keyword can be here used! …
Après avoir lu cette question sur HNQ, j'ai continué à lire sur les types de référence Nullable en C # 8 et j'ai fait quelques expériences. Je suis très conscient que 9 fois sur 10, voire plus souvent, quand quelqu'un dit "J'ai trouvé un bug de compilation!" c'est en fait …
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.