我有一个列表,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