日期:2014-05-17  浏览次数:20810 次

求问下C#迭代理解
foreach就是迭代吗 怎么理解 还有程序中的迭代器和这是一个概念么 新手勿怪
迭代 C#

------解决方案--------------------
可以这么理解。
------解决方案--------------------
foreach关键字用来遍历迭代器IEnumerator,要求必须实现IEnumerable接口
------解决方案--------------------
为楼上大神画蛇添足一下:迭代=遍历=循环,迭代器就是用来实现迭代的东西,如2楼所说,实现IEnumerable接口的方法即可使用foreach迭代。
附上迭代器设计模式代码:
public interface ICollection
    {
        object this[int i] { get; set; }
        int Count { get; }
        ///   /// 获取迭代器  ///  
        ///   /// 迭代器  
        Iterator GetIterator();
    }
    ///   /// 迭代器接口  ///   
    public interface Iterator
    {
        bool MoveNext();
        object Current { get; }
    }

 

    public class List : ICollection
    {
        private const int MAX = 10;
        private object[] items;
        public List()
        {
            items = new object[MAX];
        }
        public object this[int i]
        {
            get
            {
                return items[i];