首页 > 解决方案 > 如何使用 LINQ 在数组的每一行中设置属性的值?

问题描述

我有这个数组:

App.selectedPhrases.Pts

我想做的是将 intselected属性的值设置0为数组中的每一行。

这是在 LINQ 中做的好事还是有更好的方法?

标签: c#

解决方案


的,这是可能的,

与良好风格的旧循环相比,您不会获得太多收益,例如:

foreach(var instance in myCollection)
    instance.selected = 0;

您也可以使用ForEach-extension on List<T>,但它看起来非常相似并且做的事情完全相同。虽然您没有获得任何优势,但此解决方案会迫使您将您的收藏物化为一个列表。然而,这里是:

myCollection.ForEach(x => x.selected = 0);

Linq 中的 Q 代表查询,而不是修改。这就是为什么 Linq 可以很好地检索对象,例如从数据库中检索对象,但不能更新这些对象。


推荐阅读