我有一个ID列表为“100,1025,5341”和一个对象列表。我想获取不包含在我的对象列表中的ID。Linq - 使用linq在列表中获取不可用的ID
作为一个例子,假设对象列表包含100和5341作为一个属性(例如:ID)。我想得到1025作为我的结果。我知道这个请求没有任何意义,但我想以某种方式得到它。我可以很容易地使用,
string idList = "100,1025,5341";
var objectList = _dataService.GetData();
var result = objectList.Any(item=> idList.Contains(item.ID));
以获得具有给定ID的列表项目。但我想要其他方式。我想获得列表中不存在的ID。
@elgonzo我可以得到只有“1025”(根据我的例子)作为结果? – user2837480
用Linq查询你的idList,而不是objectList。 (objectList没有id为1025的项目,因此查询objectList将永远不会给你1025,因为它不在其中...)首先将idList字符串转换为数组/列表。使用'.Where'代替'.Any'(请阅读MSDN文档以找出原因) – elgonzo