来自两个列表existAccount
和newAccounts
:
List<string> existAccount = new List<string>()
{
"123123123123123123",
"111111111111111111",
"555555555555555555"
};
List<Acc> newAccounts = new List<Acc>()
{
new Acc{Number="111111111111111111", SubId = 5},
new Acc{Number="123123123123123123", SubId = 9},
new Acc{Number="333333333333333333", SubId = 7},
new Acc{Number="444444444444444444", SubId = 2}
};
我想只获取Acc
元素,其中acc.Number
不存在于第一个列表中。所以输出应该是:
new Acc{Number="333333333333333333", SubId = 7},
new Acc{Number="444444444444444444", SubId = 2}
我正在尝试var result = newAccounts.Select(a => a.Number).Except(existAccounts)
,但在这种情况下我不会SubId
答案 0 :(得分:7)
试试这段代码:
var result = newAccounts.Where(x => !existAccount.Contains(x.Number)).ToList()
这将为您提供Acc
中Number
不存在的所有existAccount
个对象。