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

本文关键字:范围 对象 属性 索引 LINQ 更新 使用 | 更新日期: 2023-09-27 18:29:22

假设我有一个名为ItemListObservableCollection,包含10个对象。我想将每个对象的IsLocked属性从索引5更新到10。如何使用LINQ执行此操作?

类似的东西

ItemList.Where(x => x.IndexOf >= 5)

然后将其IsLocked属性更新为True

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

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);