16
ラムダ式はコンパイル時にのみ存在し、コンパイルされると式(LambdaExpression?)またはデリゲートになりますか?C#lambdaはコンパイル時にのみ存在しますか?
ラムダ式はコンパイル時にのみ存在し、コンパイルされると式(LambdaExpression?)またはデリゲートになりますか?C#lambdaはコンパイル時にのみ存在しますか?
はい。デリゲートに加えて、ラムダは生成されたメソッドになります。デリゲートはそのメソッドを参照します。変数を閉じると、メソッドはクロージャー状態を保持する生成クラスのインスタンスメソッドになります。
その意味では、ラムダとローカル変数を使用して、JavaScriptと同様にフィールドと1つのメソッドを持つクラスを作成できます。
http://stackoverflow.com/questions/8993426/what-are-c-sharp-lambdas-compiled-into-a-stackframe-an-instance-of-an-anonymo – christiandev