c# - 使用 linq 更改数组中的一个字段

标签 c# linq

我有一组对象,其中一个字段是一个名为 includeInReport 的 bool 字段。在某种情况下,我想将其默认设置为始终为真。我知道这样做很简单:

foreach (var item in awards)
{
    item.IncludeInReport = true;
}

但是有没有一种等效的方法可以用 linq 做到这一点?满足我的好奇心比什么都重要...我的第一个想法是这样做...

awards.Select(a => new Award{ IncludeInReport = true, SomeFiled = a.SomeField, .... }

但由于我的对象中有几个字段,我不想输入所有字段,此时屏幕上只会出现困惑。谢谢!

最佳答案

ForEach 是一种 linq:

awards.ForEach(item => item.IncludeInReport = true);

但 Linq 不是关于更新值的。所以您没有使用正确的工具。


让我量化“某种 linq”。 ForEach 不是 Linq,而是 List<T> 上的一种方法.但是,语法类似于 Linq。

关于c# - 使用 linq 更改数组中的一个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9368830/

相关文章:

c# - 如何在 C# 中以编程方式查找项目文件夹

c# - 为什么不能在 System.Transactions 命名空间中创建 Transaction 类的实例

c# - 如何使用 OnChange 事件制作 HtmlSelect 控件以触发 C# 代码隐藏功能

sql - Postgres - 使用 PostGis 在 LINQ 或 SQL 中进行地理空间搜索

c# - 是否有 .NET 队列类允许一次使多个项目出列?

c# - 为什么我不能在实现 IEnumerable 的类上使用 LINQ 方法?

c# - VS.NET 'current breakpoint will not be hit' 警告的原因?

c# - 使用循环创建对象的唯一实例

c# - 将一些 LINQ 查询传递给函数的参数?

linq - 无法将类型 'int?'隐式转换为 'int'