Als «c#-8.0» getaggte Fragen

Bei Problemen im Zusammenhang mit der Entwicklung mit Version 8.0 der C # -Sprache. Diese Version fügt nullfähige Referenztypen, Standardschnittstellenmethoden, asynchrone Aufzählungen und andere Funktionen und Verbesserungen hinzu



6
So aktivieren Sie die Funktion "Nullable Reference Types" von C # 8.0 für das gesamte Projekt
Laut dem C # 8-Ankündigungsvideo kann die Funktion "Nullable Reference Types" für das gesamte Projekt aktiviert werden. Aber wie kann man es für das Projekt aktivieren? Ich habe keine neue geeignete Option im Fenster Projekteigenschaften in Visual Studio 2019 Vorschau 1 gefunden. Kann es für "Legacy" .csproj-Projekte aktiviert werden, wenn …

2
Was macht null! Aussage bedeuten?
Ich habe kürzlich den folgenden Code gesehen: public class Person { //line 1 public string FirstName { get; } //line 2 public string LastName { get; } = null!; //assign null is possible public string? MiddleName {get; } = null; public Person(string firstName, string lastName, string middleName) { FirstName = …

4
c # 8 Schalterausdruck mehrere Fälle mit demselben Ergebnis
Wie muss ein Schalterausdruck geschrieben werden, um mehrere Fälle zu unterstützen, die dasselbe Ergebnis zurückgeben? Mit c # vor Version 8 kann ein Schalter wie folgt geschrieben werden: var switchValue = 3; var resultText = string.Empty; switch (switchValue) { case 1: case 2: case 3: resultText = "one to three"; …

3
Was heisst das?
Ich sehe manchmal den folgenden Code und habe keine Ahnung, was der Ausdruck tatsächlich testet. public static void Something(string[] value) { if (value is { }) { DoSomethingElse(); } }
36 c#  c#-8.0 

2
Erstellen Sie eine leere IAsyncEnumerable
Ich habe eine Schnittstelle, die so geschrieben ist: public interface IItemRetriever { public IAsyncEnumerable<string> GetItemsAsync(); } Ich möchte eine leere Implementierung schreiben, die kein Element zurückgibt, wie folgt: public class EmptyItemRetriever : IItemRetriever { public IAsyncEnumerable<string> GetItemsAsync() { // What do I put here if nothing is to be done? …

1
Warum kann ich eine untergeordnete Variable mit demselben Namen wie eine Variable im übergeordneten Bereich deklarieren?
Ich habe kürzlich einen Code geschrieben, in dem ich einen Variablennamen unbeabsichtigt als Parameter einer Aktion wiederverwendet habe, die in einer Funktion deklariert wurde, die bereits eine gleichnamige Variable enthält. Zum Beispiel: var x = 1; Action<int> myAction = (x) => { Console.WriteLine(x); }; Als ich die Duplizierung entdeckte, war …



1
Konvertieren Sie IAsyncEnumerable in List
In C # 8 wurde die IAsyncEnumerableSchnittstelle hinzugefügt. Wenn wir eine normale IEnumerablehaben, können wir daraus eine Listoder so ziemlich jede andere Sammlung machen, die wir wollen. Danke an Linq da. var range = Enumerable.Range(0, 100); var list = range.ToList(); Nun möchte ich meine IAsyncEnumerablein eine konvertieren Listund dies natürlich …

1
Was ist unbekannte Nullbarkeit in C # 8?
In C # 8.0 können nullbare Referenztypen vorhanden sein. In den Dokumenten wird angegeben, dass es 4 Arten der Nullbarkeit gibt. Die ersten 3 sind ziemlich klar, aber ich verstehe den Punkt "unbekannt" nicht. Die Dokumente sagen, dass es mit Generika verwendet wird, aber wenn ich versuche, eine Methode für …



3
Gibt es eine definitive Namenskonvention für Methoden, die IAsyncEnumerable zurückgeben?
Nachdem C # 5 das asyncund await-Modell für die asynchrone Programmierung eingeführt hatte, gelangte die C # -Community zu einer Namenskonvention, um Methoden, die einen erwarteten Typ zurückgeben, ein "Async" -Suffix hinzuzufügen: interface Foo { Task BarAsync(); } Viele statische Codeanalysatoren (sowohl Roslyn-basiert als auch nicht Roslyn-basiert) wurden seitdem so …
10 c#  c#-8.0 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.