zoukankan      html  css  js  c++  java
  • 对IEnumerable<T>,IDictionary<Tkey,TValue>,ICollection<T>,IList<T>的总结

    1、IEnumerable<T>接口和IEnumerable接口

    实现了IEnumerable接口的集合表明该集合能够提供一个enumerator(枚举器)对象,支持当前的遍历集合。IEnumerable接口只有一个成员GetEnumerator()方法。

    IEnumerator接口实现了IEnumerator接口的集合实现了从一个元素到另一个元素向前移动的方法,同时也可以随时返回初始处。
    IEnumerator接口是只读的。

    包括以下三个成员

    MoveNext()方法调整遍历指针移向集合的下一个元素。注意,遍历指针的初始位置是集合中第一个元素的前面。要指向第一个元素,必须先调用一次MoveNext()方法。该方法返回一个布尔值,如果成功遍历到下一个元素,则返回true;如果指针移出末尾,则返回false。

    Reset()方法用于设置遍历指针指向初始位置,即集合中第一个元素的前面。

    Current属性返回集合中当前对象的引用。

    2、ICollection<T>接口和ICollection接口

    该接口是IEnumerable接口的子接口,定义了集合的大小、IEnumerator接口和同步方法。在IEnumerable接口的基础上增加了以下功能。

    Count;该属性返回集合中元素的数目。

    CopyTo(Array array, int index);该方法用于实现从集合中拷贝元素到一个一维数组中。

    3、IList接口和IList<T>接口

    ILIst接口包括以下方法和属性

    Add()和Insert()方法用于向集合中添加条目,使用索引来指定项目要插入的位置,其中首元素的索引为0;Add()将新条目添加到尾部。

    Remove()和RemoveAt()用于从列表中删除条目。Clear()用于删除所有条目。

    IndexOf和Contains()用于搜索该列表。

    this属性用于获取或设置索引指定的值。C#中可以使用[]运算符进行访问

    IList<T>接口

    ArrayList类
    ArrayList类实际上是C#中的”动态数组”。数组在new创建后,其大小(Length)是不能改变的,而ArrayList中的数组元素的个数(Count)是可以改变的,元素可以加入及移出。

    4、IDictionary<Tkey,Tvalue>接口IDictionary

    IDictionary接口提供了一组”关键字/值”的集合,Hashtable是IDictonary的一个重要实现。

    IDictionary接口是一个包含一组”关键字/值”对的数据结构,每个值都由相应的关键字来定义。关键字和值可以是任何数据类型,关键字必须唯一且非空。

    Add()方法添加一个指定的关键字和值的条目到IDictionary接口。

    this属性检索指定关键字所对应的值。

    Keys和Values属性分别返回包含所有关键字和值的集合。

    Remove()用于删除指定关键字对应的条目。Clear()用于删除所有条目。

    GetEnumator()返回一个IDictionaryEnumerator,可用于遍历IDictionary接口。

    IDictionaryEnumerator接口

    IDictionaryEnumerator接口基于IEnumerator接口,可以使用Entry属性检索当前条目的关键字和值,或者使用Key和Value属性分别检索。Entry属性返回一个DictionaryEntry对象。

    DictionaryEntry是一个值类型,包含Key和Value两个字段,每个字段都是一个对象引用。s

    Hashtable类

    Hashtable(哈希表)表示一个关键字和值相关联的集合,它的组织方式能够高效地检索其中的值。

    HashMap和Hashtable及HashSet的区别

    http://www.blogjava.net/fisher/archive/2006/12/13/87398.html

  • 相关阅读:
    给JavaScript初学者的24条最佳实践
    高音符號的由來是怎樣的
    从零单排学JavaWeb
    数据库建表规则
    linux快捷键
    Linux 命令行快捷键
    DC综合及仿真验证和DFT测试
    verilog中include的用法
    <转>verilog hdl中常数声明
    <转>Verilog HDL宏定义define
  • 原文地址:https://www.cnblogs.com/huangmeimujin/p/2417523.html
Copyright © 2011-2022 走看看