日期:2014-05-19  浏览次数:21108 次

怎么迭代器的接口GetEnumerator到底怎么实现:
using   System;
using   System.Collections;
public   class   Samp   :   IEnumerable     //继承接口就一定要实现接口的GetEnumerator
{
        private   int[]   items;   //声明一个数组
        public   Samp()
        {
                items   =   new   int[5]   {   5,4,7,8,9};
        }
        public   IEnumerable   GetEnumerator()
        {
              for   (int   i   =   0;   i   <   items.Length;   i++)
                {
                        yield   return   items[i];   //把数组变成每个IEnumerable的项,使类型成为可枚举的类型
                }
        }

}
这段代码我就是来实现GetEnumerator但提示编译不成功。
原因是:
错误 1 “Samp”不会实现接口成员“System.Collections.IEnumerable.GetEnumerator()”。“Samp.GetEnumerator()”或者是静态、非公共的,或者有错误的返回类型。 D:\CandC++\C#\迭代器\yield_return_2\yield_return_2\yield_return.cs 3 14 yield_return_2
为什么不能实现这个接口啊   。。

------解决方案--------------------
UP,顶起,学习