.NET 6的TryGetNonEnumeratedCount方法怎么用
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,本篇内容主要讲解".NET 6的TryGetNonEnumeratedCount方法怎么用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习".NET 6的Tr
千家信息网最后更新 2025年02月03日.NET 6的TryGetNonEnumeratedCount方法怎么用
本篇内容主要讲解".NET 6的TryGetNonEnumeratedCount方法怎么用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习".NET 6的TryGetNonEnumeratedCount方法怎么用"吧!
一、举例
尝试下列代码:
var b = new B();Console.WriteLine($@"{b.Count()}");var a = new A ();Console.WriteLine($@"{a.Count()}");class A : IEnumerable { public IEnumerator GetEnumerator() { throw new NotImplementedException(); } IEnumerator IEnumerable.GetEnumerator() { throw new NotImplementedException(); }}class B : A ,ICollection{ public int Count => 10086; public bool IsSynchronized => throw new NotImplementedException(); public object SyncRoot => throw new NotImplementedException(); public void CopyTo(Array array, int index) { throw new NotImplementedException(); }}
你会发现,b.Count()能够执行,而a.Count()会报错:
二、原理
这是由LINQ内部实现造成的。
对于某些集合类型,如果无法快速确定集合元素数量——例如Count属性,调用Count()
则必须枚举整个集合以确定元素的数量。
在某些情况下,枚举会严重影响程序性能,比如EF Core下使用IQueryable.Count()
就需要访问数据库获取全部记录才能计数。
因此,更高效地计算序列中的元素数,就是使用TryGetNonEnumeratedCount
方法,如果可以快速计数,该方法将返回true并将计数作为out变量返回。
结论:
建议你始终使用以下格式代码,去获取可枚举类型的元素总数:
if (!enumerable.TryGetNonEnumeratedCount(out var count)){ //使用其他方式获取元素数量}
到此,相信大家对".NET 6的TryGetNonEnumeratedCount方法怎么用"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
方法
元素
数量
代码
内容
类型
学习
实用
更深
兴趣
原理
变量
实用性
实际
就是
属性
序列
建议
性能
总数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
梦幻西游服务器为什么越来越卡
查找数据库两个表中相同数据
请求服务器失败的软件
昆明哪有软件开发
酷狗怎样添加服务器
我的世界还有几个服务器
开发ai智联app软件开发
蓝凌ekp使用什么数据库
杨浦区数据库卷尺定制联系方式
wamp3数据库版本
未来十年网络安全问题
直播支持自建服务器
军营网络安全周主题
ngrok 服务器
网络安全手抄报有教程
石河子新华互联网科技价格
软件开发刘衔
网络安全信息化检查考核
bds官方服务器是啥
平安非金融互联网科技
redis如何备份数据库
独立服务器需要做什么监控
DCG软件开发
软件开发年纪大了容易受歧视
服务器到货时间
莱芜智慧社区软件开发电话
计算机网络技术本科考什么
成都聚多米网络技术有限公司
数据库还原金蝶备份文件
数据库为什么会使用索引