c# - 如何创建动态 lambda 来使用它?

标签 c# linq lambda foreach expression

我学会了使用 Expression 类来操作动态 lambda 表达式。 但是,ForEach 方法 (LINQ) 中使用的 lambda 表达式似乎有点不同,因为它是一个赋值。

例如,这样做:

myList.ForEach(x => x.Status = "OK") ;

将更新 myList 列表中每个对象的 Status 属性。

如何使用 Expression 对象来完成它?我没有在 Expression 中找到任何设置属性的方法...它是否仅用于检索属性值?

最佳答案

从 .NET 4 开始,赋值确实存在于表达式树中(参见 Expression.Assign )(它用于支持 dynamic),但 C# 不支持它编译器,它仍然只支持将 lambda 表达式转换为表达式树的真正“表达式”。

关于c# - 如何创建动态 lambda 来使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8271804/

相关文章:

c# - 使 Linq 查询并行运行

c# - 用于管理 SQL 表中位置的算法

c# - 有没有更好的方法来返回列表中的下一项并从末尾循环到前面?

sql - 与 Linq To Sql 存储过程的并发性

c# - 使用 LINQ 和 Entity Framework 检查 c# var 中的空值

python - 试图与 chalice 转发请求

c++ - 如何将局部变量传递给 lambda 函数?

c# - 使用哪种线程类型,正确停止/中止?

c++ - 自 lambda 进入 C++ 以来, `Callback` 接口(interface)是否已过时?

c# - "The parameter is incorrect."导航到 WP7 中的新页面时