C # 6 wprowadza elementy wyrażające, które pozwalają na uproszczony kod w metodach i właściwościach, które zwracają tylko wynik wyrażenia:
public override string ToString()
{
return string.Format("{0} {1}", _field1, _field2);
}
staje się:
public override string ToString() =>
string.Format("{0} {1}", _field1, _field2);
Ponieważ mamy teraz dwie dokładnie równoważne i poprawne składnie, należy zastosować pewną ogólną regułę, aby zdecydować, którego użyć. Kiedy nowa alternatywa jest odpowiednia?
public override string ToString() => $"{_field1} {_field2}";
?Odpowiedzi:
Funkcjonalne języki programowania składają się tylko z wyrażeń, więc większość z nich miała taką funkcję od samego początku. Używasz go, gdy masz stosunkowo krótkie, często powtarzane wyrażenie, które można zastąpić jeszcze krótszą, o wiele bardziej znaczącą nazwą.
Typowym przykładem są predykaty, które są używane gdzie indziej, takie jak:
Jeśli wyrażenie jest zbyt długie, lepiej podzielić je na osobne funkcje lub jedną funkcję z nazwanymi wynikami pośrednimi. Jeśli jest krótki, ale nie możesz wymyślić dobrego imienia, lepiej po prostu skopiuj wyrażenie, niż stwórz okropne imię
condition1
lub coś w tym stylu.źródło
Od C # /. NET Little Wonders: Członkowie wyrażeniowo w C # 6 :
(podkreślenie, moje; patrz aktualizacja 1 poniżej)
Więcej z podsumowania powyższego artykułu:
I kolejny cytat na temat wydajności, ponieważ problemy z wydajnością mogą również odgrywać rolę, gdy właściwe jest użycie określonej funkcji języka:
(wyróżnienie, autor)
Aktualizacja 1: @ JörgWMittag powiedział
Wygląda na to, że oryginalny autor mógł się pomylić. Aby to wyjaśnić, z nowego i ulepszonego C # 6.0 :
Dla jasności nie oznacza to, że metoda lub właściwość są wyrażeniem . Wykorzystuje składnię wyrażeń do zmniejszenia linii kodu (i liczby nawiasów klamrowych).
Moja oryginalna rekomendacja nadal obowiązuje: używaj jej, gdy uczyni twój kod oczywistym i łatwiejszym do zrozumienia, nie tylko dlatego, że możesz go użyć.
źródło
return
słowo kluczowe) może kiedykolwiek prowadzić do większej czytelności. W końcu złożone wyrażenie jest wciąż dokładnie tym samym złożonym wyrażeniem, po prostu zakopane w bałaganie syntaktyczne.