使用LINQ更新给定索引范围的对象属性

时间:2014-11-05 08:37:26

标签: c# linq collections

假设我有一个名为ObservableCollection的{​​{1}}包含10个对象。我想更新索引5到10中每个对象的ItemList属性。如何使用IsLocked执行此操作?

这样的东西
LINQ

然后将他们的ItemList.Where(x => x.IndexOf >= 5) 媒体资源更新为IsLocked

2 个答案:

答案 0 :(得分:0)

LINQ用于查询。没有更新。使用循环来操纵对象

foreach(var item in ItemList.Where((x,idx) => idx >= 5 && idx <= 10))
       item.IsLocked = true;

答案 1 :(得分:0)

这是可能的,但不是好的做法

ItemList.Skip(5).Take(5).ToList().ForEach(i => i.IsLocked = true);