如何找到我的列表中只包含一个且只有一个没有Count
或Single
的项目?
答案 0 :(得分:26)
这个怎么样:
int limitedCount = myEnumerable.Take(2).Count();
那会给你:
...但它只给你那些答案,而只是迭代序列一次。然后,您可以打开结果。
答案 1 :(得分:2)
myEnumerable.Take(2).Count() < 2
答案 2 :(得分:-1)
而不是使用异常,循环遍历可枚举,一旦你击中超过1,就会突破它。
你不必全部计算它们......只有2个:)
此外,使用流量控制的例外是一个坏主意,因为从性能的角度来看, 确实 非常昂贵。
正如@Jon Skeet的回答所示,有更好的方法可以做到这一点,因为IEnumerable接口设计得非常好。但是,如果它没有.Skip
和.Any()
方法(适用于其他语言或只是迭代的地方),则只需要数到2。