C#中Length和Count的区别(个人观点)
2024-08-23 13:18:22
这篇文章将会很短。。。短到比你的JJ还短,当然开玩笑了。网上有说过Length和count的区别,都是很含糊的,我没有发现有 文章说得比较透彻的,所以,虽然这篇文章很短,我还是希望能留在首页,听听大家对这个话题的看法,如果不信的话,你还真搜不到类似的文章,反正我是没搜索到。
也许有些观点是错的,或者不正确的,还请指出;我的观点是:
- Length:用于计算连续内存区域的一些“对象”的长度,而使用Count()计算非连续内存块的对象集合的“个数”;
- Length是这个集合对象的一个特有的属性,它 继承自System.Object;Count()并不是一个属性,而是一个方法,每一次迭代器指针指向这个对象的后继(MoveNext()方法),当然你也可以理解为一个单链表,所以这就是迭代器为什么不能有下标,因为它根本没法跳跃式的找地址,那么它的大小是未知的。
- Length的大小底层是由这个对象集的数据类型和初始化时候定义的大小确定的;
- 有些人认为先有迭代器,然后才有的长度,长度是建立在迭代器的基础上的;这是错误的,那你可能会反驳:.NET中的基础数据类型,为什么可以用foreach,那你好好在int上面按一下F12,你会发现,其实:它在内部是Int32这个对象。也就是说,.NET中不存在所谓的基础数据类型;
最新文章
- angularjs集成requirejs
- loadrunner总体使用篇
- Redis Java API
- Debug模式应用程序输出Debug调试信息(现成的宏定义,用于格式化打印信息)
- Laravel Eloquent ORM
- uva 310 L--system(隐式图搜索+字符串处理)
- 2014 (多校)1011 ZCC Loves Codefires
- auto和bool
- 课堂测试ch06
- Android进阶 | 摆脱斗图 | 行业交流 | 深度学习 | 付费
- 怎么使Richedit中光标始终指到最后一行的最后面?
- [FJOI2018]领导集团问题
- 编译jmeter5.0源码
- 算法题 -- 输入一个Long数组,按要求输出一个等长的Long数组
- Eclipse预编译的include路径与宏定义
- “==”和equals方法究竟有什么区别?
- webform(复合控件)
- Basic4android v3.80 beta 发布
- Python 中单双引号
- web国际化,在不同的浏览环境,显示不同的语言
热门文章
- wepack+sass+vue 入门教程(二)
- Enterprise Solution 3.1 企业应用开发框架 .NET ERP/CRM/MIS 开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms
- 利用on和off方法编写高效的js代码
- Android数据加密之MD5加密
- Java FtpClient 实现文件上传服务
- ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案
- ASP.NET Core 中文文档 第四章 MVC(4.1)Controllers, Actions 和 Action Results
- Java定时任务的常用实现
- 浅谈JSP中include指令与include动作标识的区别
- java web学习总结(五) -------------------servlet开发(一)