Ich bin verwirrt, warum dieser Code nicht kompiliert werden kann: var result = $"{fieldName}{isDescending ? " desc" : string.Empty}"; Wenn ich es aufteile, funktioniert es gut: var desc = isDescending ? " desc" : string.Empty; var result = $"{fieldName}{desc}";
Mit C # 6.0 in der VS2015-Vorschau haben wir einen neuen Operator ?., der wie folgt verwendet werden kann: public class A { string PropertyOfA { get; set; } } ... var a = new A(); var foo = "bar"; if(a?.PropertyOfA != foo) { //somecode } Was genau macht es?
Ich habe ein Beispielprojekt mit C # 6.0-Extras erstellt - Null-Weitergabe und Initialisierung der Eigenschaften als Beispiel, Zielversion .NET 4.0 festgelegt und es funktioniert. public class Cat { public int TailLength { get; set; } = 4; public Cat Friend { get; set; } public string Mew() { return "Mew!"; …
Version 6.0 hat eine neue Funktion von nameof, aber ich kann den Zweck nicht verstehen, da nur der Variablenname verwendet und beim Kompilieren in eine Zeichenfolge geändert wird. Ich dachte, es könnte einen Zweck haben <T>, wenn ich nameof(T)es benutze, aber wenn ich es versuche, druckt es mir einfach ein …
Ich bin auf einen Code gestoßen, der besagt public int MaxHealth => Memory[Address].IsValid ? Memory[Address].Read<int>(Offs.Life.MaxHp) : 0; Jetzt bin ich mit Lambda-Ausdrücken einigermaßen vertraut. Ich habe es einfach nicht so gesehen. Was wäre der Unterschied zwischen der obigen Aussage und public int MaxHealth = x ? y:z;
Ich habe die neuesten Funktionen in C # 6.0 durchgearbeitet und bin nur einem Beispiel für den automatischen Eigenschaftsinitialisierer gefolgt. class NewSample { public Guid Id { get; } = Guid.NewGuid(); } aber meine IDE hat die Syntax nicht erkannt. Ich frage mich, wie ich C # 6.0 in Visual …
Hintergrund Wir haben ein Projekt, das wir in VS 2015 mit aktiviertem C # 6 entwickeln und das gelegentlich von Entwicklern geöffnet werden muss, die VS 2013 ohne C # 6 verwenden. Wir haben nicht die Absicht, C # 6 in dieser speziellen Lösung zu verwenden (so oft ich möchte). …
Ich teste Visual Studio 2015 mit C # 6.0, aber die Sprachfunktionen funktionieren nicht. In einer MVC-Webanwendung wird der folgende Code kompiliert: if (!string.IsNullOrWhiteSpace(Model.Profile?.TypeName)) { // More logic here... } Wenn ich die Anwendung jedoch über Debug und IIS Express ausführe, wird folgende Fehlermeldung angezeigt: CS1525: Ungültiger Ausdrucksbegriff '.' Wie …
Ich habe festgestellt, dass die Zeichenfolgeninterpolation zwar sehr gut ist, wenn sie auf die Zeichenfolgenformataufrufe meiner vorhandenen Codebasis angewendet wird. Angesichts der allgemein bevorzugten Spaltenbeschränkung wird die Zeichenfolge jedoch schnell zu lang für eine einzelne Zeile. Besonders wenn die zu interpolierenden Ausdrücke komplex sind. Mit einer Formatzeichenfolge haben Sie eine …
Als Teil der Roslyn- Dokumentation auf GitHub gibt es eine Seite mit dem Namen Implementierungsstatus für Sprachfunktionen mit geplanten Sprachfunktionen für C # und VB. Eine Funktion, um die ich mich nicht kümmern konnte, war der private protectedZugriffsmodifikator: private protected string GetId() { … } Es gibt auch eine Seite …
In C # 6 gibt es eine neue Funktion: interpolierte Zeichenfolgen. Mit diesen können Sie Ausdrücke direkt in Code einfügen, anstatt sich auf Indizes zu verlassen: string s = string.Format("Adding \"{0}\" and {1} to foobar.", x, this.Y()); Wird: string s = $"Adding \"{x}\" and {this.Y()} to foobar."; Wir haben jedoch …
Ich habe einen vorhandenen Website- Projekttyp Visual Studio 2015 aktualisiert und das Framework auf 4.6 geändert. Ich habe dann erwartet, dass all diese neuen Funktionen in meinem Code hinter Dateien verfügbar sind. Leider bekomme ich Fehler wie: Fehler CS8026: Die Funktion 'Eigenschaft mit Ausdruckskörper' ist in C # 5 nicht …
Ich schaue mir einige der neuen Funktionen in C # 6 an, insbesondere "Verwenden von Statik" . Die Verwendung von static ist eine neue Art der using-Klausel, mit der Sie statische Elemente von Typen direkt in den Bereich importieren können. (Unten im Blogbeitrag) Die Idee ist wie folgt, gemäß ein …
In C # 6 können Sie den nameof()Operator verwenden, um eine Zeichenfolge abzurufen, die den Namen einer Variablen oder eines Typs enthält. Wird dies zur Kompilierungszeit oder zur Laufzeit über eine Roslyn-API ausgewertet?
Ich möchte C # 6 in meinem Projekt verwenden (Null-Weitergabe, andere Funktionen). Ich habe VS 2015 auf meinem PC installiert und es funktioniert hervorragend und erstellt Testcode wie var user = new SingleUserModel(); //all model fields are null var test = user.User?.Avatar?["blah"]; Wenn ich mein Projekt jedoch in das Repo …
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.