Parametry odrzucenia lambda
Notatka
Ten artykuł jest specyfikacją funkcji. Specyfikacja służy jako dokument projektowy dla funkcji. Zawiera proponowane zmiany specyfikacji wraz z informacjami wymaganymi podczas projektowania i opracowywania funkcji. Te artykuły są publikowane do momentu sfinalizowania proponowanych zmian specyfikacji i włączenia ich do obecnej specyfikacji ECMA.
Mogą wystąpić pewne rozbieżności między specyfikacją funkcji a ukończoną implementacją. Te różnice są przechwytywane w odpowiednich spotkania projektowego języka (LDM).
Więcej informacji na temat procesu wdrażania specyfikacji funkcji można znaleźć w standardzie języka C# w artykule dotyczącym specyfikacji .
Streszczenie
Zezwalaj na użycie odrzuconych wartości (_
) jako parametrów w wyrażeniach lambda i metodach anonimowych.
Na przykład:
- lambdy:
(_, _) => 0
,(int _, int _) => 0
- metody anonimowe:
delegate(int _, int _) { return 0; }
Motywacja
Nieużywane parametry nie muszą być nazwane. Cel odrzutów jest jasny, tj. są one nieużywane/odrzucane.
Szczegółowy projekt
Parametry metody — §15.6.2 Na liście parametrów metody lambda lub anonimowej z więcej niż jednym parametrem o nazwie _
takie parametry są odrzucane.
Uwaga: jeśli pojedynczy parametr ma nazwę _
jest to zwykły parametr ze względów zgodności z poprzednimi wersjami.
Odrzuć parametry nie powodują wprowadzenia żadnych nazw do żadnych zakresów.
Należy pamiętać, że nie powodują one ukrycia nazw _
(podkreślnik).
Proste nazwy (
Zakresy — §7.7 Z wyjątkiem parametrów odrzucenia, zakres parametru zadeklarowanego w lambda_expression (§12.19) jest anonymous_function_body tego lambda_expression Z wyjątkiem parametrów odrzucenia zakres parametru zadeklarowanego w anonymous_method_expression (§12.19) jest blok tego anonymous_method_expression.
Powiązane sekcje specyfikacji
- Odpowiednie parametry — §12.6.2.2
C# feature specifications