您现在的位置: 爱51代码网 >> 范文 >> 文章正文
代码中如何返回IEnumerator

using System;
using System.Collections;

namespace ConsoleTest
{
    class ColorEnumerator : IEnumerable
    {
        string[] Colors;//实现IEnumerator
        int Position = -1;
        public object Current
        {
            get
            {
                if (Position == -1)
                    throw new InvalidOperationException();
                if (Position == Colors.Length)
                    throw new InvalidOperationException();

                return Colors[Position];
            }
        }
        public bool MoveNext()
        {
            if (Position < Colors.Length - 1)
            {
                Position++;
                return true;
            }
            else
                return false;
        }
        public void Reset() { Position = -1; }
        public ColorEnumerator(string[] theColors)//构造函数
        {
            Colors = new string[theColors.Length];
            for (int i = 0; i < theColors.Length; i++)
                Colors[i] = theColors[i];
        }
    }
    class MyColors : IEnumerable
    {
        //必须实现IEnumerable接口和实现方法,定义此类型为可枚举类型。
        string[] Colors = new string[3] { "Red", "Yellow", "Blue" };  //定义一个string数组
        public IEnumerator GetEnumerator()
        {
            //关键,必须实现的方法,返回为IEnumerator接口类型,为枚举数对象.通过它来实现另外的3个方法。
            return new ColorEnumerator(Colors);//传入的参数为,本类的变量。
        }
    }

    class Program
    {
        static void Main(string[] args)
        {

            Console.WriteLine("按任意键结束...");
            Console.ReadKey();
        }
    }
}

以上是源代码,请问return new ColorEnumerator(Colors);这行代码中如何返回IEnumerator

class ColorEnumerator : IEnumerator --第二个类你实现接口出错了.
IEnumberable和IEnumberator是两个不同的接口.

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    GIS用百度行政区域的经纬度直接画
    不小心卸载了.net 4 extend,vs2
    C#byte【】里的数转换成string时
    C#的session取不到值
    java如何判断一个字符串里的数字
    随机找出24个不一样的字,在把一
    java怎么实现html转为pdf
    lotus数据列表文档个数如何实时统
    lotus代理中LS如何将字符串保存到
    在lotus BS系统里怎样方便实现统
    GIS用百度行政区域的经纬度直接画
    不小心卸载了.net 4 extend,vs2
    C#byte【】里的数转换成string时
    C#的session取不到值
    java如何判断一个字符串里的数字
    java怎么实现html转为pdf
    lotus数据列表文档个数如何实时统
    在lotus BS系统里怎样方便实现统
    undefined reference timer_crea
    linux文件/usr/lib破坏了,还原后
    C# 代码如何在Excel里面实现
    C#input输入框最后一位数字无
    VS2010如何让多个项目共享文
    oledb如何远程读写excel2003
    C#如何开发NPAPI
    asp.net实现打开ftp站点并下
    LINQ to entity 返回多个结果
    SMTP 服务器要求安全连接或客
    C#怎样快速扫描指定网段内所
    C#客户端收到数据后怎样将da
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |