- 易飞ERP解决方案普及版
- 友情链接常见欺骗手段
- 长尾关键词的概念及特征
- MSN、QQ、阿里旺旺在线客服源代码
- npm 和 cnpm 的区别
- 网站优化
- JavaScript程序构成
- 给你的Access数据库减肥
- sql数据库中货币类型转化为c#,及折扣的计算
- 经验分享:策划团队八个应该与六项原则
邮箱:
手机:15383239821
IEnumerable和ICollection简介
虽然枚举接口IEnumerable提供了一种向前迭代集合的协议,但是它们并没有提供确定集合大小、根据索引访问成员、搜索以及修改集合的机制。为了实现这些功能,.NET Core定义了ICollection、IList和IDictionary接口。这些接口都支持泛型和非泛型版本。然而,非泛型版本的存在只是为了兼容遗留代码。
ICollection 接口是 System.Collections 命名空间中类的基接口。ICollection 接口扩展 IEnumerable。
IDictionary 和 IList 则是扩展 ICollection 的更为专用的接口。
如果 IDictionary 接口和 IList 接口都不能满足所需集合的要求,则从 ICollection 接口派生新集合类以提高灵活性。
ICollection是IEnumerable的加强型接口,它继承自IEnumerable接口,提供了同步处理、赋值及返回内含元素数目的功能。
可以简单总结为:
IEnumerable<T>(和IEnumerable):提供了最少的功能支持(仅支持元素枚举)。
ICollection<T>(和ICollection):提供一般的功能(例如Count属性)。
IList<T>/IDictionary<K, V>及其非泛型版本:支持最多的功能(包括根据索引/键进行“随机”访问)。
IEnumerable接口
IEnumerable接口是ICollection的父接口,凡实现此接口的类,都具备“可迭代”的能力。
IEnumerable接口只定义了一个方法:GetEnumerator,该方法将返回一个“迭代子”对象(或称为迭代器对象),是一个实现了IEnumerator接口的对象实例。
凡是实现了IEnumerable接口的类,都可以使用foreach循环迭代遍历。
ICollection<T>
ICollection<T>是可以统计集合中对象的标准接口。
该接口可以确定集合的大小(Count),集合是否包含某个元素(Contains),复制集合到另外一个数组(ToArray),集合是否是只读的(IsReadOnly)。
如果一个集合是可编辑的,那么可以调用Add,Remove和Clear方法操作集合中的元素。
因为该接口继承IEnumerable<T>,所以可以使用foreach语句遍历集合。


-
2024-09-15Element-UI自定义拖拽列表的制作方法
-
2023-08-26thinkphp添加视频
-
2012-06-304点大大提高网站的力度
-
2012-06-3010种我常用的外链方法
-
2013-05-06C#中Attributes的用法
-
2010-07-20搜索引擎优化的步骤和环节
