从列表中拉出对象<同时被多个Id's
本文关键字:Id 列表 对象 | 更新日期: 2023-09-27 18:01:41
我有一个List<Group>
,其中Group
是:
class Group
{
string Id,
string Name
}
我有一个List<string>
,其中包含Id的列表
我想从List<Group>
中取出所有在List<string>
中具有Id的Group
对象
类似于var groups = groupList.Where(x => x.Id == "id")
,只是一次有多个Id
你可以这样写:
List<string> ids = GetTheIDs();
var groups = groupList.Where(x => ids.Contains(x.Id));
也就是说,对于大量的id来说,这将是低效的。如果您有许多ID值,您可能希望将它们放在HashSet<T>
而不是List<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));