List GetEnumerator

 static void Main()
    {
    List<int> list = new List<int>();
    list.Add(1);
    list.Add(5);
    list.Add(9);

    List<int>.Enumerator e = list.GetEnumerator();
    Write(e);
    }

    static void Write(IEnumerator<int> e)
    {
    while (e.MoveNext())
    {
        int value = e.Current;
        Console.WriteLine(value);
    }
    }
时间: 2024-08-16 01:32:38

List GetEnumerator的相关文章

IEnumerable&lt;T&gt; 接口和GetEnumerator 详解

IEnumerable<T> 接口 .NET Framework 4.6 and 4.5 公开枚举数,该枚举数支持在指定类型的集合上进行简单迭代. 若要浏览此类型的.NET Framework 源代码,请参阅参考源. 命名空间:  System.Collections.Generic程序集:  mscorlib(在 mscorlib.dll 中) public interface IEnumerable<out T> : IEnumerable 类型参数    out T 要枚举的

GetEnumerator();yield

GetEnumerator()方法的实质实现: 说明:只要一个集合点出GetEnumerator方法,就获得了迭代器属性,就可以用MoveNext和Current来实现foreach的效果,如上图. 在.NET中,迭代器模式被IEnumerator和IEnumerable及其对应的泛型接口所封装.如果一个类实现了IEnumerable接口,那么就能够被迭代:调用GetEnumerator方法将返回IEnumerator接口的实现,它就是迭代器本身. 所以一般能用foreach实现的,都可以让集合

C# 索引器,实现IEnumerable接口的GetEnumerator()方法

当自定义类需要实现索引时,可以在类中实现索引器. 用Table作为例子,Table由多个Row组成,Row由多个Cell组成, 我们需要实现自定义的table[0],row[0] 索引器定义格式为 [修饰符] 数据类型 this[索引类型 index] 以下是代码 1 /// <summary> 2 /// 单元格 3 /// </summary> 4 public class Cell 5 { 6 /// <summary> 7 /// Value 8 /// <

IEnumerable、GetEnumerator、IEnumerator的理解

概念文字性的东西,我们就不说了,这里我们来点具体的实例第呀: 实例一: using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Pratice001 { public class Test:IEnumerable { private static in

Asp.Net MVC Views页面不包含“GetEnumerator”的公共定义

“/”应用程序中的服务器错误. 编译错误 说明: 在编译向该请求提供服务所需资源的过程中出现错误.请检查下列特定错误详细信息并适当地修改源代码. 编译器错误消息: CS1579: “Web.Models.Book”不包含“GetEnumerator”的公共定义,因此 foreach 语句不能作用于“Web.Models.Book”类型的变量 源错误:   行 16: <td>操作</td> 行 17: </tr> 行 18: @foreach (var item in

foreach遍历访问的对象必须实现IEnumerable 或声明GetEnumerator

需要实现一个对象为可遍历的对象,必须实现IEnumerable或声明GetEnumerator 方法,其中,IEnumerable 不是必须实现,但是GetEnumerator 方法则必须声明: 例如,先声明一个Item类,该类用于遍历的实体 //先声明一个Item的对象,用于遍历的实体对象 public class Item { public int Id; public string Name; public int Price; public Item(int id, string nam

c# 迭代器 与 集合 IEnumerable.GetEnumerator 方法

示例来源 :msdn 1.0 迭代器 简单的迭代器: public static void Main(string[] args) { foreach (int number in EvenSequence(5, 18)) { Console.Write(number.ToString() + " "); } Console.ReadKey(); } static IEnumerable<int> EvenSequence(int firstNumber, int last

C#中Dictionary的介绍

关键字:C# Dictionary 字典 作者:txw1958原文:http://www.cnblogs.com/txw1958/archive/2012/11/07/csharp-dictionary.html 说明    必须包含名空间System.Collection.Generic     Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值)     键必须是唯一的,而值不需要唯一的     键和值都可以是任何类型(比如:string, int, 自定义类型,等等

.NET深入解析LINQ框架(四:IQueryable、IQueryProvider接口详解)

阅读目录: 1.开篇介绍 2.扩展Linq to Object (应用框架具有查询功能) 2.1.通过添加IEnumerable<T>对象的扩展方法 2.2.通过继承IEnumerable<T>接口 2.3.详细的对象结构图 3.实现IQueryable<T> .IQueryProvider接口 3.1.延迟加载IEnumertor<T>对象(提高系统性能) 3.2.扩展方法的扩展对象之奥秘(this IQueryable<TSource> so