有人可以在下面看到我做错了什么吗?第一个命令返回一个空列表。然后第二个命令设置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();
答案 0 :(得分:5)
第一个命令返回一个空列表。
不,它会返回查询。您需要通过foreach
循环或致电ToList
或ToArray
来处理查询,以获得查询的实际结果。评估函数如Any()
,Count()
,Max()
等也会处理查询,因为它们返回的是具体结果,而不是其他查询。
我怀疑你正在调试调试器中的变量。在调试器中查看Linq查询是非常棘手的,因为查询通常只是一些具体集合的包装器。