如果要针对特定​​ID过滤对象列表,可以执行以下操作:

list.Where(r => r.Id == idToCompare);

如果我有一个要比较的ID列表而不是一个idToCompare怎么办?

与预定义列表进行比较的语法是什么?就像是:
int[] listofIds = GetListofIds();

list.Where(r => r.Id "in listofIds");

最佳答案

如果listOfIds是列表,则可以使用,但是List.Contains()是线性搜索,因此效率不高。

最好将要查找的ID存储在适合搜索的容器中,例如Set。

List<int> listOfIds = new List(GetListOfIds());
lists.Where(r=>listOfIds.Contains(r.Id));

关于c# - 列表中存在的Lambda表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3177113/

10-13 04:23