私は「ラムダ式」のトピック(第17章、代理人、代理人のためのC#構文的砂糖)に目を通しています。ジェフリーは、C#コンパイラがバックグラウンドに次のような新しい非静的クラスを作成すると述べています。ラムダ式:コンパイラの動作
- ラムダ式でアクセスされたすべてのローカル変数を格納するフィールド。
- ボディにラムダ式が含まれ、シグネチャ/リターンタイプがラムダ式が使用されたデリゲートに一致するメソッド。
私は、次の2つの質問があります:私は自分自身をデバッグ少しをしたとラムダ式は、ローカル変数の値を変更する場合(ラムダExpresisonがされている方法で定義されているのを見
を)、新しい値はエクスプレッション本体の外部にも反映されます。表現が実際に別のクラスにあると考えると、これはどのように可能ですか?
Staticクラスで完璧に行うことができる場合、送信されるクラスを非静的にする必要があるのはなぜですか?
これは私が理解できない非常に単純な概念ではないことを願っています。
詳細をお知らせください。
偉大な答え。ありがとう。 – astraldust
あなたは元気で元気です。 – Freeman