【发布时间】:2014-02-18 13:28:07
【问题描述】:
我有这个代码:
这里我从数据库中获取了 long 列表:
IQueryable<long> query = from t in table select t.LongId
在这里我尝试从这些 ID 中获取最大值:
long max = query.Any() ? query.Max() : 0;
但是无论查询结果中有多少long,max总是设置为0。
你知道为什么吗?
【问题讨论】:
-
调试一下怎么样? query.Any() 返回什么,query.Max() 返回什么?
-
1) 这两行之间是否还有其他代码? 2)
table是什么,有什么数据? -
您确定查询不为空吗?
-
为什么要检查
Any()条件?另外 - 请不要仅仅因为他们没有解决您的问题而对 naswer 投反对票 - 这不是 SO 的工作方式。 -
是的,我的错。不知何故,
DefaultIfEmpty().Max()感觉好多了,尽管他们的表现完全一样。
标签: c# linq if-statement ternary-operator