2014-10-08 90 views
0

我試圖用RemoveAll函數替換列表中的項目,但沒有意識到它完全刪除列表的索引。有沒有一個函數可以替換對象而不是刪除它們?我正在比較字符串。Linq全部刪除

Items.RemoveAll(x => commonItems.Any(y => y.ItemName == x.ItemName)); 

或者也許一旦它被刪除我用另一個空索引替換它在同一地點?

回答

3

您可以用Where取代RemoveAll得到你想要先修改記錄:

var matches = Items.Where(x => commonItems.Any(y => y.ItemName == x.ItemName)); 

然後,只需遍歷這些結果並替換值:

foreach (var match in matches) 
    match.ItemName = "N/A"; 
+0

都能跟得上您選擇的權利。謝謝!! – 2014-10-08 04:23:29