我有一个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")
。
你可以使用类似的东西:
List<string> ids = GetTheIDs();
var groups = groupList.Where(x => ids.Contains(x.Id));
话虽如此,这对于大量 ID 来说效率很低。如果您有许多 ID 值,您可能希望将它们放在 aHashSet<T>
而不是 aList<T>
中,因为Contains()
在这种情况下调用将是 O(1) 而不是 O(n)。
var groups = groupList.Where(x => listOfStrings.Contains(x.Id));
listOfStrings
您的“我有一个List<string>
包含 ID 列表的”在哪里。
var groups = groupList.Where(x => stringList.Contains(x.Id));