// 摘要:

// 公开枚举器,该枚举器支持在非泛型集合上进行简单迭代。

[ComVisible(true)]

[Guid("496B0ABE-CDEE-11d3-88E8-00902754C43A")]

public interface IEnumerable

{

// 摘要:

// 返回一个循环访问集合的枚举器。

//

// 返回结果:

// 可用于循环访问集合的 System.Collections.IEnumerator 对象。

[DispId(-4)]

IEnumerator GetEnumerator();

}


方法:


方法方法名称说明GetEnumeratorGetEnumerator获得一个循环访问集合的迭代器
AsParallelAsParallel启用查询的并行化。(由ParallelEnumerable定义。)(扩展方法)AsQueryableAsQueryable将IEnumerable转换为IQueryable。(由Queryable定义。)Cast<TResult>Cast<TResult>将IEnumerable的元素强制转换为指定的类型。(由Enumerable定义。)OfType<TResult>OfType<TResult>根据指定类型筛选IEnumerable的元素。(由Enumerable定义。)


备注:

IEnumerable是可枚举的任何非泛型集合的接口。有关此接口的泛形版本,请参见System.Collections.Generic.IEnumerable<T>。IEnumerable包含一个方法,GetEnumerator,返回IEnumerator。IEnumerator可以通过集合循环显示Current属性和MoveNext和Reset方法。

它是一个最优方法实现IEnumerable和IEnumerator在集合选件类启用foreach(For Each在 Visual Basic 中为) 语法,但是,IEnumerable不需要实现。如果集合中不实现IEnumerable,您还必须遵循迭代器窗体通过提供返回接口、选件类或结构的GetEnumerator方法支持此语法。在使用 Visual Basic 时,必须提供IEnumerator实现,由GetEnumerator返回。在开发使用 C# 必须提供时包含一个Current属性的选件类和MoveNext和Reset方法所描述的终结器IEnumerator,但是,选件类不必实现IEnumerator。


示例程序:见IEnumerator枚举数接口示例

http://4837471.blog.51cto.com/4827471/1561773