繁体   English   中英

我们可以使用匿名方法更新列表吗?

[英]Can we update a list using anonymous methods?

我有一个对象列表( MyList )...并且我想更新该列表中每个项目的一个属性( Priority )。

下面的代码可以解决这个问题吗?

this.MyList.All(
    delegate(ItemViewModel itemObject)
    {   
        itemObject.Priority = priority++;
    }
)

请帮我。 提前致谢!

为什么不只使用foreach

foreach(ItemViewModel itemObject in MyList)
  itemObject.Priority = priority++;

如果您真的想使用委托,则可以使用ForEach()

MyList.ForEach(itemObject =>
{
    itemObject.Priority = priority++;
});

虽然这是不明智的,但是因为您引入了具有priority++副作用

如果是列表,则应使用:

MyList.ForEach(i => i.Priority = priority++);

或等效的:

MyList.ForEach(delegate(ItemViewModel i) { i.Priority = priority++ });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM