【发布时间】:2011-07-02 15:19:01
【问题描述】:
我有一个Dictionary<int int>。当我检查字典的键是否有数字并且它在其中时,我希望它返回数字,否则我希望 linq 查询返回 0。
类似下面的东西,除了工作
var t = (from result in results
where result.Key == 3
select result.Key != null ? result.Value : 0).First();
因为问题是当列表中没有数字时,序列中不包含任何元素,所以不能用null或者count来检查。
【问题讨论】:
-
我无法从您的示例中看出,但如果您始终存储相同的键和值
(key == value),那么您可以使用HashMap<int>。 -
它是什么,我正在开发一个 F1 应用程序,这部分应该存储一个位置以及该位置的点。不过,积分可能会发生变化(尽管这更多的是几年的时间)。
-
抱歉,无法编辑我的评论。我的意思是:它是什么,我正在开发一个 F1 应用程序,这本字典应该存储一个 driverId 以及该驱动程序的分数。 driverId 是键,值是司机得分。我只会存储前 10 个车手(FIA 规则)。
标签: c# c#-4.0 linq-to-objects