【发布时间】:2014-11-05 08:37:25
【问题描述】:
假设我有一个名为 ItemList 的 ObservableCollection 包含 10 个对象。我想将每个对象的 IsLocked 属性从索引 5 更新到 10。如何使用 LINQ 执行此操作?
类似
ItemList.Where(x => x.IndexOf >= 5)
然后将他们的IsLocked 属性更新为True。
【问题讨论】:
标签: c# linq collections
假设我有一个名为 ItemList 的 ObservableCollection 包含 10 个对象。我想将每个对象的 IsLocked 属性从索引 5 更新到 10。如何使用 LINQ 执行此操作?
类似
ItemList.Where(x => x.IndexOf >= 5)
然后将他们的IsLocked 属性更新为True。
【问题讨论】:
标签: c# linq collections
LINQ 用于查询。不更新。使用循环来操作你的对象
foreach(var item in ItemList.Where((x,idx) => idx >= 5 && idx <= 10))
item.IsLocked = true;
【讨论】:
这是可能的,但不是很好的做法
ItemList.Skip(5).Take(5).ToList().ForEach(i => i.IsLocked = true);
【讨论】: