目录
前言:
.NET 6新增了TryGetNonEnumeratedCount方法,计算可枚举类型的元素总数。

LINQ不是已经有了Count方法吗,为什么还要画蛇添足呢?
下文来看看具体情况!!!
一、举例
尝试下列代码:
var b = new B<int>();
Console.WriteLine($@"{b.Count()}");
var a = new A<int>();
Console.WriteLine($@"{a.Count()}");
class A<T> : IEnumerable<T>
{
public IEnumerator<T> GetEnumerator()
{
throw new NotImplementedException();
}
IEnumerator IEnumerable.GetEnumerator()
{
throw new NotImplementedException();
}
}
class B<T> : A<T>,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))
{
//使用其他方式获取元素数量
}
相关推荐:
seo监控什么意思,seo数据监控 ,ai panda眼镜架
SEO专业怎么样?未来发展的无限潜力与职业前景,联通ai智能早教
AI人工智能生成文章:开启写作新时代
揭开“好的AI软件”背后的秘密:让生活和工作更智能的利器
seo黑帽是什么,列举几种seo黑帽行为 ,穿老款的ai丢人吗
AI的两个主要发展阶段:从起步到突破,如何重塑未来,wps ai写作去哪里
SEO快速排名实例:如何通过实战技巧提升网站排名,快速突破流量瓶颈,安徽ai跑步机企业
ChatGPT服务器坏了?了解背后的技术与应对策略,AI模块代表
为什么选择B站VIP?让你畅享更丰富的视听体验,小门类网站seo
seo软文用什么论坛,seo软文是什么意思 ,爱字幕的AI变脸不见了
SOE优化:让你的网站轻松登顶,流量激增的秘密武器,广西网站建设存在问题
主题导航-引领互联网世界的智慧之路,大渡口网站建设方案
ChatGPT免费版下载:智能对话助手带来的全新体验,电脑怎么下载Ai微认证
软件AI的全称:人工智能驱动未来的关键力量
ChatGPT登录界面都不显示了?可能是这些原因导致的!,上海小学ai智能课
为什么“360收录”是你网站推广的必备利器,seo亚马逊
AI网页版本:开启智能时代的新篇章,拼音标调ai
一键创作,助你轻松实现创意梦想,最低价刷粉网站推广
在线AI文章生成:智能写作的无限可能
ChatGPT打不开了吗?如何快速解决常见问题,恢复顺畅体验!,ai13212511845
SEO检测,让网站排名飞升的秘密武器,高端快消食品营销推广
SEO工装裤-打造时尚与实用兼备的工作利器,ai画中国爸爸辅导孩子写作业
ChatGPT对于大数据发展的帮助:赋能行业变革,推动智能化未来,ai写作真的好吗
ChatGPT遇到问题?如何解决“您的应用遇到问题,无法正常启动”困境?,ai下载增强版
SEO有点:揭秘优化之道,提升网站排名的秘诀,广州抖音seo厂家地址
pbootcms自动翻译插件,让你的网站轻松实现多语言覆盖,ai 镀金
SEO知道:让你的网站在搜索引擎中脱颖而出,水安建设集团网站
用AI写科普文章:科技改变写作的未来
SEO更多-让你的企业站点在搜索引擎中脱颖而出,如何结交seo大神
seo运营经理是什么,seo和运营的区别 ,皖妍ai宁慕晴o
什么是seo模型,seo模块总结 ,ai技术授课
SEO目标:让您的网站轻松登顶搜索引擎,优化购物网站的搜索
GPT优化:让你的工作与生活更高效、更智能,Ai__79
SEO查看-如何通过精确分析提升网站流量与排名,东丽网站建设价格
seo需要了解什么,seo需要学些什么内容 ,ovo ai
AI提供的阅读书目对学生的专业知识有多大帮助,沃奇ai
SEO搜索关键词是什么意思?全方位解析关键词优化的核心要素,lol ai图片
文章自动生成AI:助力写作新时代,让创作更高效
seo稿件是什么意思,seo文章写作要求 ,ai写作未来展望和展望
什么是seo公司口碑,seo品牌 ,ai大模型训练是什么意思
什么是seo优化营销,seo主要优化什么 ,ai绘画国风古韵
AI人物生成:重新定义虚拟形象创作的未来
OpenAI银行卡扣款的公司是哪家?揭秘背后的支付流程与安全保障,AI素描相片
在线AI文章:为您打造全新内容创作体验
SEO人工优化-让你的网页轻松登上搜索引擎首页,ai主母
seo网络上什么意思,seo表示什么 ,如何避免今日头条ai写作检测
GPT-3模型下载:开启智能时代的无限可能,ai走入
seo需要学会什么编程,seo要会些什么 ,剪映怎样加ai
什么是seo推广找行者SEO,seo推广效果怎么样 ,西宁ai万词霸屏系统
SEO每日:提高网站流量的秘密武器,助你脱颖而出,seo优化和排名技巧