【问题标题】:Update object property for a given index range using LINQ使用 LINQ 更新给定索引范围的对象属性
【发布时间】:2014-11-05 08:37:25
【问题描述】:

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

类似

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

然后将他们的IsLocked 属性更新为True

【问题讨论】:

    标签: c# linq collections


    【解决方案1】:

    LINQ 用于查询。不更新。使用循环来操作你的对象

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-10-12
        • 2014-02-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-20
        相关资源
        最近更新 更多