IEnumerable .Select()不工作

时间:2017-05-08 20:49:09

标签: c# linq

有人可以在下面看到我做错了什么吗?第一个命令返回一个空列表。然后第二个命令设置i = 1(这是正确的)。

IEnumerable<Demographic> demographics2 = this
  .DemographicRecords
  .Where(item => item.Id == "7633")
  .Select(item => item);

int i = this
  .DemographicRecords
  .Where(item => item.Id == "7633")
  .Count();

1 个答案:

答案 0 :(得分:5)

  

第一个命令返回一个空列表。

不,它会返回查询。您需要通过foreach循环或致电ToListToArray处理查询,以获得查询的实际结果。评估函数如Any()Count()Max()等也会处理查询,因为它们返回的是具体结果,而不是其他查询。

我怀疑你正在调试调试器中的变量。在调试器中查看Linq查询是非常棘手的,因为查询通常只是一些具体集合的包装器。