0
我试图用RemoveAll函数替换列表中的项目,但没有意识到它完全删除列表的索引。有没有一个函数可以替换对象而不是删除它们?我正在比较字符串。Linq全部删除
Items.RemoveAll(x => commonItems.Any(y => y.ItemName == x.ItemName));
或者也许一旦它被删除我用另一个空索引替换它在同一地点?
我试图用RemoveAll函数替换列表中的项目,但没有意识到它完全删除列表的索引。有没有一个函数可以替换对象而不是删除它们?我正在比较字符串。Linq全部删除
Items.RemoveAll(x => commonItems.Any(y => y.ItemName == x.ItemName));
或者也许一旦它被删除我用另一个空索引替换它在同一地点?
您可以用Where
取代RemoveAll
得到你想要先修改记录:
var matches = Items.Where(x => commonItems.Any(y => y.ItemName == x.ItemName));
然后,只需遍历这些结果并替换值:
foreach (var match in matches)
match.ItemName = "N/A";
都能跟得上您选择的权利。谢谢!! – 2014-10-08 04:23:29