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
C # 8.0 bietet eine bequeme Möglichkeit zum Schneiden von Arrays - siehe offiziellen C # 8.0-Blogpost . Die Syntax für den Zugriff auf das letzte Element eines Arrays lautet int value[] = { 10, 11, 12, 13 }; int a = value[^1]; // 13 int b = value[^2]; // …
In den erweiterten Build-Einstellungen von Visual Studio 2019 scheint C # 8 nicht für ein .NET Framework-Projekt verfügbar zu sein, sondern nur (wie in der folgenden Abbildung) für ein .NET Core 3.0-Projekt: Unterstützt C # 8 .NET Framework?
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 …
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 = …
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"; …
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(); } }
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? …
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 …
Ich habe festgestellt, dass Visual Studio dies in einigen Fällen empfiehlt await using var disposable = new Disposable(); // Do something an Stelle von using var disposable = new Disposable(); // Do something Was ist der Unterschied zwischen usingund await using? Wie soll ich mich für eine entscheiden?
Ich habe ein DTO, das durch Lesen aus einer DynamoDB-Tabelle gefüllt wird. Angenommen, es sieht derzeit so aus: 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 …
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 …
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 …
Nehmen wir an, ich fordere eine große JSON-Datei an, die eine Liste vieler Objekte enthält. Ich möchte nicht, dass sie alle auf einmal im Gedächtnis bleiben, aber ich würde sie lieber einzeln lesen und verarbeiten. Also muss ich einen asynchronen System.IO.StreamStream in einen verwandeln IAsyncEnumerable<T>. Wie verwende ich dazu die …
Es scheint mir wirklich keine Garantie dafür zu geben, dass eine nicht nullfähige Variable niemals null haben wird. Stellen Sie sich vor, ich habe eine Klasse mit einer Eigenschaft, die nicht nullbar ist: public class Foo { public Foo(string test) { Test = test; } public string Test {get;set;} } …
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 …
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.