簡體   English   中英

如何比較2個列表中的值

[英]How to compare values in 2 lists

我有一個列表為Users = new List<string>();

我有另一個List, List<TestList>() ;

UsersList = new List<string>();

我需要將Users與TestList.Name的值進行比較。 如果TestList.Name中的值存在於Users中,我必須不能將它添加到UsersList,否則,我必須將它添加到UsersList。

我怎么能用Linq做到這一點?

它看起來像你想要的:

List<string> usersList = testList.Select(x = > x.Name)
                                 .Except(users)
                                 .ToList();

換句話說,“使用testList users 之外的所有users ,並將結果轉換為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);
   }  
}

..這就是我如何解釋你的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM