Zukünftige Pläne für C#

伊谢尔伦
Freigeben: 2016-11-24 13:19:45
Original
1458 Leute haben es durchsucht

Beim NDC London schlug Mads Torgersen Pläne für die Zukunft der C#-Sprache vor. Es ist zu beachten, dass es sich lediglich um Pläne handelt und es keine Garantie dafür gibt, welche Version veröffentlicht wird. Damien Guard fasst diese Empfehlungen zusammen und analysiert sie kurz. Einige davon haben wir hier für Sie herausgesucht.

Schreibgeschützte Eigenschaften

Schreibgeschützte automatische Eigenschaften ermöglichen es Entwicklern, Eigenschaften und ihre Hintergrundfelder in einer Codezeile zu deklarieren.

public int X { get; } = x;
Nach dem Login kopieren

Statischer Typ mit Anweisung

Sowohl Visual Basic als auch Java ermöglichen den Import von Modulen (statische C#-Klassen) in Namespaces. Dadurch wird wiederholter Code vor häufig verwendeten statischen Funktionen wie „Math“ entfernt.

Primärer Konstruktor

Durch das Hinzufügen von Parametern nach dem Klassennamen müssen Entwickler nicht mehr explizit einen Konstruktor erstellen. Dadurch wird ausführlicher Code entfernt, wenn Konstruktorargumente in private Felder kopiert werden.

public class Point(int x, int y)  {     private int x, y; }
Nach dem Login kopieren

Eigenschafts- und Methodenausdrücke

Eigenschaftsausdrücke können einen Teil des Boilerplate-Codes eliminieren, der andernfalls für einfache schreibgeschützte Eigenschaften erforderlich wäre.

public double Distance => Math.Sqrt((X * X) + (Y * Y));
Nach dem Login kopieren

Das Gleiche gilt für Methodenausdrücke, natürlich können sie Parameter akzeptieren. Beachten Sie, dass parametrisierte Eigenschaften weiterhin nicht berücksichtigt werden. Dies kann für lange Zeit nur ein Alleinstellungsmerkmal von VB sein.

Funktionsparameter

Die meisten Entwickler verwenden heutzutage niemals Arrays, es sei denn, sie verwenden das Schlüsselwort params. Daher schlugen einige Leute vor, dass Parameter auch die IEnumerable-Schnittstelle unterstützen. In diesem Fall müssen auch andere Sprachen (z. B. Visual Basic) unterstützt werden. Es wurde auch vorgeschlagen, lokale Variablen mit dem Schlüsselwort out zu deklarieren. Beispiel:

int.TryParse("123", out int x);
Nach dem Login kopieren

Nullpropagation

Beim Umgang mit unordentlichen Daten müssen Entwickler häufig eine Reihe von Nullbeurteilungslogiken schreiben, bevor sie Eigenschaften lesen oder Methoden aufrufen. Die ?-Syntax hilft uns, diese Logik zu beseitigen, und die folgende Methode wird nur aufgerufen, wenn der vorherige Wert nicht leer ist.

var bestValue = points?.FirstOrDefault()?.X;
Nach dem Login kopieren

Wenn in diesem Beispiel „points“ leer ist oder „points.FirstOrDefault()“ leer zurückgibt, wird .X ignoriert und „leer“ zurückgegeben. Es kann auch in Verbindung mit ?? verwendet werden, um optionale Standardwerte bereitzustellen.

var bestValue = points?.FirstOrDefault()?.X ?? -1;
Nach dem Login kopieren

„Messaging“-Sprachen wie Objective-C und Smalltalk enthalten alle eine solche Syntax. Dies wird oft als problematisch angesehen, da eine Nullreferenzausnahme dort stillschweigend ignoriert wird, wo sie ausgelöst werden sollte.


Verwandte Etiketten:
c#
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!