IEnumerable是什么

首先怎么认识一个对象

IE+number+able  IE数字 可能 从名字上看不出什么玩意,以至于很久都没人真正认识这个接口

先看官方的解释

IEnumerable Interface

Exposes an enumerator, which supports a simple iteration over a non-generic collection.

公开枚举数,该枚举数支持对非泛型集合进行简单迭代。
下面是 
IEnumerable的源码,包含一个 GetEnumerator 方法 返回的是 IEnumerator 对象,从这可以看出,这个接口 主要作用就是让对象可以支持 获取IEnumerator  结构的数据,
 
#region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// C:Program Files (x86)Reference AssembliesMicrosoftFramework.NETFrameworkv4.6.1mscorlib.dll
#endregion

using System.Runtime.InteropServices;

namespace System.Collections
{
    //
    // 摘要:
    //     公开枚举数,该枚举数支持在非泛型集合上进行简单迭代。若要浏览此类型的 .NET Framework 源代码,请参阅引用源。
    [ComVisible(true)]
    [Guid("496B0ABE-CDEE-11d3-88E8-00902754C43A")]
    public interface IEnumerable
    {
        //
        // 摘要:
        //     返回循环访问集合的枚举数。
        //
        // 返回结果:
        //     可用于循环访问集合的 System.Collections.IEnumerator 对象。
        [DispId(-4)]
        IEnumerator GetEnumerator();
    }
}

  

原文地址:https://www.cnblogs.com/Impulse/p/11699515.html