Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 .
Problem dotyczący mistrza: https://github.com/dotnet/csharplang/issues/111
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