ラムダには 3 つの部分があります。矢印 " => "、矢印の左側にパラメーター、矢印の右側に式またはブロック。
これらのラムダを使用して匿名メソッドを作成しています。ラムダを使用して式ツリーを作成することもできますが、ここでは説明しません。
Selectへのこのメソッド呼び出しは、各入力を出力に射影します。
//use the expression syntax, which implies that the value of the expression is returned.
// creates an anonymous method.
Select(uc => uc.comboBox2)
これは、ラムダの式によって行われ、入力のコンボボックス 2 プロパティの値にアクセスして返します。このコードは同じことを行います:
//use the block syntax to create an anonymous method.
Select(uc => { return uc.comboBox2; })
ラムダが気に入らない場合は、メソッドのシグネチャが呼び出しているメソッドのパラメーターと一致する限り、定義したメソッドを使用できます。
//define a method yourself.
public ComboBox GetComboBox(UserControl1 uc)
{
return uc.combobox2;
}
//use that method in the Select call.
Select(GetComboBox)
このメソッド呼び出しAny
は、ソースを列挙し、条件に一致する最初のアイテムが見つかったときに停止し、true を返します。一致する項目が見つからずに最後まで到達した場合は、Any
false を返します。
Any(cb => cb.Text == String.Empty);
ラムダ式は、bool を返す匿名メソッドを生成します。Any はそのメソッドを使用してコンボボックスをチェックします。各コンボボックスは、いずれかが true を返すまでチェックされます。その後、true が によって返されAny
ます。true を返すコンボボックスがない場合は、 によって false が返されAny
ます。