Что скомпилировано в С# лямбда? Стек-кадр, экземпляр анонимного типа или?
Я читал это question. Что в основном отвечает "почему", вы не можете использовать лямбда, когда также используете неявные функции типа. Но этот вопрос направлен на то, какую конструкцию создает компилятор для фактического выполнения кода лямбда. Это вызов метода анонимного типа (что-то вроде анонимных типов, реализующих интерфейс в Java?) Или это просто кадр стека со ссылками на закрытые переменные и принятие сигнатуры параметра? Некоторые лямбда не замыкаются ни на что, так что тогда есть 2 разных результирующих выхода из компиляции.