Загрузка данных


using System.Collections;

public class Program
{
    public class MyEnumerator : IEnumerator
    {
        public int count = -1;
        public int size;
        private int[] _data;

        public MyEnumerator(Arr arr)
        {
            this._data = arr.data;
            size = _data.Length;
        }

        public object Current { get { return (int)(_data[count]);  } }

        public bool MoveNext()
        {
            count++;
            if (count < size)
                return true;
            else
                return false;
        }

        public void Reset()
        {
            count = -1;
        }
    }
    public class Arr : IEnumerable
    {
        public int[] data = new int[] { 3, 2, 1 };
        public IEnumerator GetEnumerator()
        {
            return new MyEnumerator(this);
        }
    }
    private static void Main(string[] args)
    {
        //int[] ar = new int[] { 5, 4, 3, 2 };
        //IEnumerable<int> ie = ar;
        //foreach (int i in ie)
        //    Console.WriteLine(i);

        Arr  arr = new Arr();
        IEnumerable ie = arr;
        foreach (int i in ie)
            Console.WriteLine(i);
    }
}