C # 6 führt Member mit Ausdruck ein, die vereinfachten Code in Methoden und Eigenschaften ermöglichen, die nur das Ergebnis eines Ausdrucks zurückgeben:
public override string ToString()
{
return string.Format("{0} {1}", _field1, _field2);
}
wird:
public override string ToString() =>
string.Format("{0} {1}", _field1, _field2);
Da wir jetzt zwei genau äquivalente und gültige Syntaxen haben, muss eine Faustregel verwendet werden, um zu entscheiden, welche verwendet werden soll. Wann ist die neue Alternative angebracht?
public override string ToString() => $"{_field1} {_field2}";
?Antworten:
Funktionale Programmiersprachen bestehen nur aus Ausdrücken, daher hatten die meisten von Anfang an eine Funktion wie diese. Sie verwenden es, wenn Sie einen relativ kurzen, häufig wiederholten Ausdruck haben, der durch einen noch kürzeren, viel aussagekräftigeren Namen ersetzt werden kann.
Ein häufiges Beispiel wären Prädikate, die an anderer Stelle verwendet werden, z.
Wenn der Ausdruck zu lang ist, ist es besser, ihn in separate Funktionen oder eine Funktion mit benannten Zwischenergebnissen aufzuteilen. Wenn es kurz ist, aber Ihnen kein guter Name einfällt, ist es besser, nur den Ausdruck zu kopieren, als einen schrecklichen Namen wie
condition1
oder so zu kreieren .quelle
Aus C # /. NET Little Wonders: Ausdrucksstarke Mitglieder in C # 6 :
(Hervorhebung, meine; siehe Update 1 unten)
Mehr aus der Zusammenfassung des Artikels oben:
Und noch ein Zitat zur Leistung, denn Leistungsprobleme können auch auftreten, wenn es angebracht ist, eine bestimmte Sprachfunktion zu verwenden:
(Hervorhebung des Autors)
Update 1: @ JörgWMittag sagte
Es scheint, dass der ursprüngliche Autor möglicherweise einen Tippfehler hat. Zur Verdeutlichung aus dem neuen und verbesserten C # 6.0 :
Dies macht eine Methode oder Eigenschaft nicht zu einem Ausdruck . Es verwendet die Expression- Syntax , um die Codezeilen (und die Anzahl der geschweiften Klammern) zu reduzieren.
Meine ursprüngliche Empfehlung lautet nach wie vor: Verwenden Sie sie, wenn Ihr Code dadurch klarer und verständlicher wird, und nicht nur, weil Sie ihn verwenden können.
quelle
return
Schlüsselwort) jemals zu mehr Lesbarkeit führen kann. Immerhin ist der komplexe Ausdruck immer noch genau derselbe komplexe Ausdruck, der nur in syntaktischer Unordnung begraben ist.