通常、ラムダを使用する場合、変数名として「a、b、c、d...」を使用します。これは、型が簡単に推測でき、短い名前の方が読みやすいためです。次に例を示します。
var someEnumerable = GetSomeEnumerable();
var somethingElseList = someEnumerable.Select(a => a.SomeProperty)
.OrderBy(a => a.SomePropertyField);
var someDictionary = somethingElseList.ToDictionary(a => new SomeClass(a.Prop1),
a => a);
この命名に疑問を抱く人もおり、次のように長くタイプされた名前を好む人もいます。
var someEnumerable = GetSomeEnumerable();
var somethingElseList = someEnumerable.Select(importantObj => importantObj.SomeProperty)
.OrderBy(objsInfo => objsInfo.SomePropertyField);
var someDictionary = somethingElseList.ToDictionary(theInfoId => new SomeClass(theInfoId.Prop1),
theInfoId2 => theInfoId2);
範囲が非常に狭いため(括弧の間)、愚かなことをして括弧を入れ子にしない限り、短い名前の方が読みやすいと思います。
上で使った馬鹿げた命名例にとらわれずにLambda 変数名に関する一般的なコンセンサスは何ですか? 短い名前にするべきか、それとも短い名前にしないべきか?
ベストアンサー1
私が通常行う方法は、列挙するコレクションによって異なります。コレクションの名前がラムダ パラメータの型を示している場合は、1 文字だけを使用しますが、コレクションがそれほど説明的でない場合は、単語を使用します。
例えば:
myCollection.Where(person =>....); //non descriptive collection name
myPeopleCollection.Where(p=>...); // descriptive collection name