包含所有的ID返回列表我有ID的列表:,从一个int列表
var IdList = new int[]{1, 2};
我也有用户的列表:
var userList = new List<User>()
{
new User() {Id = 1, Name = "User1" },
new User() {Id = 1, Name = "User2" },
new User() {Id = 2, Name = "User2" },
new User() {Id = 1, Name = "User3" },
new User() {Id = 1, Name = "User4" },
new User() {Id = 2, Name = "User4" }
};
我想获得用户的列表必须包含IdList中的所有Id。所以在这个例子中我想返回User2和User4。我已经看到其他子集的例子,只是使用Except和返回布尔值,即使适应我的需要不会产生正确的结果。我也看到一个标记为重复(Similar Question),这是试图做到这一点,但不同意它是一个重复,从来没有真正的答案。我曾尝试过:
userList.Where(u => IdList.All(i => i == u.Id)).ToList();
不会返回任何东西。
尝试使用'GroupBy'。 –
为什么你有2个用户使用相同的ID?用户1,用户2和用户3都有Id 1,你的预期结果在你的问题中(所以在这个例子中我想返回User2和User4。)没有任何意义! – Shyju
我同意Shyju。你的数据模型看起来很奇怪。如果您可以控制它,您应该创建具有唯一ID的用户对象。然后将名称属性更改为名称名称(或数组,如果已知,固定长度)。 –
Christoph