Lambda atma parametreleriLambda discard parameters

ÖzetSummary

Atma ( _ ) öğesinin lambda ve anonim yöntemlerin parametreleri olarak kullanılmasına izin verin.Allow discards (_) to be used as parameters of lambdas and anonymous methods. Örnek:For example:

  • Lambdalar: (_, _) => 0 , (int _, int _) => 0lambdas: (_, _) => 0, (int _, int _) => 0
  • Anonim Yöntemler: delegate(int _, int _) { return 0; }anonymous methods: delegate(int _, int _) { return 0; }

MotivasyonMotivation

Kullanılmayan parametrelerin adlandırılmış olması gerekmez.Unused parameters do not need to be named. Atma amacı net, yani kullanılmıyor/atılır.The intent of discards is clear, i.e. they are unused/discarded.

Ayrıntılı tasarımDetailed design

Yöntem parametreleri Bir lambda veya adlandırılmış birden fazla parametreye sahip anonim metodun parametre listesinde _ , bu tür parametreler atma parametreleridir.Method parameters In the parameter list of a lambda or anonymous method with more than one parameter named _, such parameters are discard parameters. Note: tek bir parametre adlandırılmışsa, _ geriye doğru uyumluluk nedenleriyle normal bir parametredir.Note: if a single parameter is named _ then it is a regular parameter for backwards compatibility reasons.

Atma parametreleri herhangi bir kapsam için herhangi bir ad sunmaz.Discard parameters do not introduce any names to any scopes. Bu, herhangi bir _ (alt çizgi) adının gizli olmasına neden olmamaları gerektiğini gösterir.Note this implies they do not cause any _ (underscore) names to be hidden.

Basit adlar K Sıfırsa ve simple_name bir blok içinde görünürse ve blok(veya kapsayan bloğun) yerel değişken bildirim alanı (Bildirimler) bir yerel değişken, parametre (atma parametreleri hariç) veya ada sahip sabit içeriyorsa, I simple_name söz konusu yerel değişkene, parametreye veya sabitine başvurur ve değişken veya değer olarak sınıflandırılacaktır.Simple names If K is zero and the simple_name appears within a block and if the block's (or an enclosing block's) local variable declaration space (Declarations) contains a local variable, parameter (with the exception of discard parameters) or constant with name I, then the simple_name refers to that local variable, parameter or constant and is classified as a variable or value.

Kapsamlar Atma parametreleri dışında, bir lambda_expression (anonim işlev ifadeleri) içinde belirtilen bir parametre kapsamı, bu lambda_expression, atma parametrelerinden oluşan bir parametre olan anonymous_function_body , bu anonymous_method_expression bir anonymous_method_expression (anonim işlev ifadeleri) tarafından belirtilen bir blok olan .Scopes With the exception of discard parameters, the scope of a parameter declared in a lambda_expression (Anonymous function expressions) is the anonymous_function_body of that lambda_expression With the exception of discard parameters, the scope of a parameter declared in an anonymous_method_expression (Anonymous function expressions) is the block of that anonymous_method_expression.