質問: どちらも同じ型を返し、同じシグネチャを持つようです。 だから、彼らの違いは何ですか?それぞれをいつ使うべきですか?
回答: `Expression.Variable`は、ブロック内のローカル変数を宣言するために使用されます。 `Expression.Parameter`は、入力値のパラメータを宣言するために使用されます。 現在、C#はステートメントボディのラムダ式を許可していませんが、 *そうした*場合、想像してみてください。 ``` // Not currently valid, admittedly... Expression> foo = x => { int y = DateTime.Now.Hour; return x + y; }; ``` これ*が*有効*だった*場合、C#コンパイラは、 `Expression.Parameter`を`x`に、 `Expression.Variable`を`y`使用してコードを生成します。 少なくとも、それは私の理解です。実際のところ、2つのメソッドのドキュメントは基本的に同じです:(