c# - 如何对 IEnumerable 进行计数?
问题描述
我希望能够测试下面的 obj 计数,但不能这样做。当我将鼠标悬停在 obj 上时,它显示的计数为 3
<IEnumerable<File> obj = await _mytester.cleanup(myitems)
为什么我不能这样做?
if(obj.count > 0)
上面的线给了我一个错误
解决方案
你不能这样做,因为count
不存在IEnumerable
,这是设计使然。
你可以IEnumerable.Count()
这样使用:
if (obj.Count() > 0)
但这非常低效,因为您实际上只是在检查那里是否有任何东西。
你最好这样做:
if (obj.Any())
这两者都是由 LINQ 扩展方法提供的。
非常重要的是要注意Count()
迭代所有元素并且远没有像这样的东西那么有效ICollection.Count
推荐阅读
- scala - 类中的一些方法通过错误“不是 org.deeplarning4j 的成员”
- python - 如何解决“NotADirectoryError:[Errno 20] 不是目录:”?
- ruby-on-rails - OmniContacts 导轨
- docker - Liferay Container 无法使用自定义 server.xml 启动
- jquery - jQuery 数据属性值
- curl - 可以ping通但不能curl
- c++ - 为什么类型变量;不调用默认ctor?
- node.js - 在本地网络上托管 NodeJS
- python - 使用假设重复条目的 Pandas 索引示例
- android - TableRow android中的height/width和LayoutParams.height/width之间的区别