delphi中的数组类型和集合类型有什么区别?
数组相对于集合,最大的特征是数组中的每个数据都要占内存,不管你用还是不用。
集合对于数组,最大的特征是集合里的东西都是唯一的,不允许重复。
你可以这么理解:集合就是个位变量,有就是标记为1,没有就是标记为0,集合中的每一个成员具体分配到哪一位上去,那是编译器的事,你直接拿成员来用就好了。
数组和List各有偏重,怎么可以厚此而薄彼。
数组是集合的一种。官方的说法是:
1.集合类定义为 System.Collections 或 System.Collections.Generic 命名空间的一部分。
2.大多数集合类都派生自 ICollection、IComparer、IEnumerable、IList、IDictionary 和 IDictionaryEnumerator 接口以及它们的等效泛型接口。
更一般的说法是:
“在 C# 中,集合类并非必须严格从 IEnumerable 和 IEnumerator 继承才能与 foreach 兼容;只要类有所需的 GetEnumerator、MoveNext、Reset 和 Current 成员,便可以与 foreach 一起使用。省略接口的好处为,使您可以将 Current 的返回类型定义得比 object 更明确,从而提供了类型安全。”
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!