c# - c# lambdas 只存在于编译时吗?

标签 c# lambda

<分区>

我说 lambda 表达式仅在编译时存在,并且一旦编译它们就变成表达式(LambdaExpression?)或委托(delegate),我对吗?

最佳答案

是的。除了委托(delegate)之外,lambda 还成为生成的方法。委托(delegate)引用该方法。如果它们关闭变量,则该方法将成为生成的类上保持关闭状态的实例方法。

从这个意义上讲,您可以使用 lambda 和局部变量来创建具有字段和一个方法的类,类似于 JavaScript。

关于c# - c# lambdas 只存在于编译时吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18057947/

相关文章:

c# - .net 数据集主键 - 强制唯一性?

java - Arrays.asList 与 Arrays.stream 使用 forEach()

java - 将函数作为参数传递给对象列表

c# - 将文本框绑定(bind)到浮点值。无法输入点/逗号

c# - 如何与多个 APM BeginXXX 调用共享 AsyncCallback?

c# - 修改作为参数传递的对象的内容时是否应该使用 ref

c# - neo4j REST API 性能不佳

java - 使用 forEach() 时如何调用实例方法

java - 如何使用 Stream API 在 Java 8 中编写以下代码?

c# - 访问成员表达式的值