1

我有一个List<Group>地方Group是:

class Group
{
  string Id,
  string Name
}

我有一个List<string>包含 ID 列表的

我想将所有Group对象拉出List<Group>其中有一个 Id 的List<string>

除了多个ID之外的东西var groups = groupList.Where(x => x.Id == "id")

4

3 回答 3

7

你可以使用类似的东西:

List<string> ids = GetTheIDs();

var groups = groupList.Where(x => ids.Contains(x.Id));

话虽如此,这对于大量 ID 来说效率很低。如果您有许多 ID 值,您可能希望将它们放在 aHashSet<T>而不是 aList<T>中,因为Contains()在这种情况下调用将是 O(1) 而不是 O(n)。

于 2013-02-28T01:41:22.030 回答
2
var groups = groupList.Where(x => listOfStrings.Contains(x.Id));

listOfStrings您的“我有一个List<string>包含 ID 列表的”在哪里。

于 2013-02-28T01:41:08.643 回答
1
var groups = groupList.Where(x => stringList.Contains(x.Id));
于 2013-02-28T01:45:56.027 回答