Als «c#-6.0» getaggte Fragen

C # 6.0 wird zusammen mit Roslyn (.NET Compiler Platform) und Visual Studio 2015 ausgeliefert.

1
Warum kann ich den Null-Propagationsoperator nicht in Lambda-Ausdrücken verwenden?
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 = …

1
Primärkonstruktoren werden in VS2015 nicht mehr kompiliert
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 …


3
TryParse ohne var param
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 …
93 c#  c#-6.0  c#-7.0 

2
String-Interpolation in einer Razor-Ansicht?
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 '$'
93 c#  asp.net-mvc  razor  c#-6.0 

9
Warten Sie im Fangblock
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 …


2
C # 6 Wie formatiere ich Double mit interpoliertem String?
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? …

3
Lambda für Getter und Setter des Eigentums
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; }
76 c#  c#-6.0 

1
Aufzählungen in Lambda-Ausdrücken werden unterschiedlich kompiliert. Folge von Überlastungsauflösungsverbesserungen?
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 …
68 c#  lambda  enums  roslyn  c#-6.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.