我有一个列表,如下:Users = new List<string>();
我还有另一个列表,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
中的名称,并将结果转换为 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);
}
}
这是我理解你问题的方式