Я правильно говорю, что лямбда-выражения существуют только во время компиляции, и после компиляции они становятся либо выражением (LambdaExpression?), либо делегатом?
Do С# lambdas существуют только во время компиляции?
Ответ 1
Да. В дополнение к делегату lambdas становится сгенерированным методом. Делегат ссылается на этот метод. Если они закрывают переменные, метод становится методом экземпляра для сгенерированного класса, содержащего состояние закрытия.
В этом смысле вы можете использовать лямбда-локальные переменные для создания класса с полями и одного метода, аналогичного JavaScript.