Ich verwende häufig einen Null-Propagierungsoperator in meinem Code, weil er mir besser lesbaren Code bietet, insbesondere bei langen Abfragen, bei denen ich nicht jede einzelne verwendete Klasse auf Null prüfen muss. Der folgende Code löst einen Kompilierungsfehler aus, für den in Lambda kein Null-Propagierungsoperator verwendet werden kann. var cnt = …
Bis heute konnte ich Primärkonstruktoren verwenden, wie zum Beispiel: public class Test(string text) { private string mText = text; } Um dies zu tun, musste ich dies im vorherigen Visual Studio CTP der csproj-Datei hinzufügen: <LangVersion>Experimental</LangVersion> In der Visual Studio 2015-Vorschau (mit oder ohne LangVersion) funktioniert dies jedoch nicht mehr …
Ich habe eine automatisierte Eigenschaft erstellt: public int Foo { get; } Dies ist nur Getter. Aber wenn ich einen Konstruktor erstelle, kann ich den Wert ändern: public MyClass(string name) { Foo = 5; } Warum ist es möglich, obwohl dies nur get ist?
Eine neue Funktion in C # 6.0 ermöglicht das Deklarieren von Variablen innerhalb der TryParse-Methode. Ich habe einen Code: string s = "Hello"; if (int.TryParse(s, out var result)) { } Aber ich erhalte Kompilierungsfehler: Was mache ich falsch? PS: In den Projekteinstellungen sind C # 6.0 und .NET Framework 4.6 …
Wird das unterstützt? Wenn ja, gibt es einen Trick, um es zu aktivieren? Ich gehe davon aus, dass Razor keinen ausreichend neuen Compiler verwendet ...? Die VS2015-IDE scheint in Ordnung zu sein, aber zur Laufzeit bekomme ich CS1056: Unerwartetes Zeichen '$'
Ich habe folgenden Code: WebClient wc = new WebClient(); string result; try { result = await wc.DownloadStringTaskAsync( new Uri( "http://badurl" ) ); } catch { result = await wc.DownloadStringTaskAsync( new Uri( "http://fallbackurl" ) ); } Grundsätzlich möchte ich von einer URL herunterladen und wenn es mit einer Ausnahme fehlschlägt, möchte …
Geschlossen. Diese Frage entspricht nicht den Richtlinien für Stapelüberlauf . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage so dass es beim Thema für Stack - Überlauf. Geschlossen vor 3 Jahren . Verbessere diese Frage Ich weiß, wo ich die C # 5-Sprachspezifikation finden …
Ich habe einige neue Funktionen von C # 6 inkl. interpolierte Zeichenfolge zur einfachen Verwendung (Anzeige einer Nachricht, die Zeichenfolgenvariablen wie $ "{EmployeeName}, {Department}" enthält). Jetzt möchte ich eine interpolierte Zeichenfolge verwenden, um einen formatierten Doppelwert anzuzeigen. Beispiel var aNumberAsString = aDoubleValue.ToString("0.####"); Wie kann ich es als interpolierte Zeichenfolge schreiben? …
In C # 6.0 kann ich schreiben: public int Prop => 777; Aber ich möchte Getter und Setter verwenden. Gibt es eine Möglichkeit, etwas von dem nächsten zu tun? public int Prop { get => propVar; set => propVar = value; }
Beim Ausprobieren von Visual Studio 2015 RC wurde ein Laufzeitfehler für zuvor funktionierenden Code angezeigt. Angesichts des Lambda (x => x.CustomerStatusID == CustomerStatuses.Active), das an eine Funktion als übergeben wurde Expression<>, zeigt der Debugger einen Unterschied im Ausdrucksbaum. Früher wurde es so zusammengestellt: .Lambda #Lambda1<System.Func`2[Services.DataClasses.CustomerDC,System.Boolean]>(Services.DataClasses.CustomerDC $x) { (System.Int32)$x.CustomerStatusID == 0 …
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.