我有一個列表,Users = new List<string>();
如何在2只列出比較值
我還有一個列表,List<TestList>()
;
UsersList = new List<string>();
我需要比較用戶與TestList.Name值。如果TestList.Name中的值存在於用戶中,我必須不能將它添加到UsersList,否則,我必須將它添加到UsersList。
我該如何使用Linq做到這一點?
我有一個列表,Users = new List<string>();
如何在2只列出比較值
我還有一個列表,List<TestList>()
;
UsersList = new List<string>();
我需要比較用戶與TestList.Name值。如果TestList.Name中的值存在於用戶中,我必須不能將它添加到UsersList,否則,我必須將它添加到UsersList。
我該如何使用Linq做到這一點?
它看起來像你對我想:
List<string> usersList = testList.Select(x = > x.Name)
.Except(users)
.ToList();
換句話說,「在users
使用該用戶的所有名字中testList
除了者,並將結果轉換爲List<string>
」。
這就是假設你沒有任何東西在usersList
開始。如果usersList
已經存在,並且包含一些值,你可以使用:
usersList.AddRange(testList.Select(x = > x.Name).Except(users));
注意這不會考慮到現有項目的usersList
,所以你可能有重複結束。
做一個循環上你列出 - 例如:
foreach (string s in MyList)
{
if (!MyList2.Contains(s))
{
// Do whatever ; add to the list
MyList2.Add(s);
}
}
..that就是我如何解釋你的問題
的問題問:「我怎麼能做到這一點使用LINQ? 「這並沒有真正的答案。 – 2011-03-25 07:23:21
@布萊恩謝謝!你是如何做語法高亮的?我新來堆棧溢出。 – Xai 2011-03-25 07:23:23
檢查[如何格式化我的代碼塊?](http://meta.stackexchange.com/questions/22186/how-do-i-format-my-code-blocks) – 2011-03-25 07:30:56
感謝這個完成我的回答 – 2011-03-25 07:33:37