码迷,mamicode.com
首页 > 编程语言 > 详细

实现IEnumberable接口和IEnumberator

时间:2015-05-05 23:24:27      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:

 class BookEnum : IEnumerator  //实现foreach语句内部,并派生
    {

        public Book[] _book; //实现数组

        int position = -1;//设置“指针”

        public BookEnum(Book[] list)
        {

            _book = list; //实现list

        }

        public bool MoveNext()//实现向前移动
        {

            position++;     //位置增加

            return (position < _book.Length);   //返回布尔值

        }

        public void Reset()     //位置重置
        {

            position = -1;

        }//重置指针为-1

        public object Current      //实现接口方法
        {

            get
            {

                try
                {

                    return _book[position];      //返回对象

                }

                catch (IndexOutOfRangeException)      //捕获异常
                {

                    throw new InvalidOperationException();     //抛出异常信息

                }

            }

        }

    }


    public class Book : IEnumerable
    {

        public string Name;

        public string Price;

        public Book(string name, string price)
        {

            Name = name;

            Price = price;

        }

        private Book[] book;

        public Book(Book[] array) //
        {

            book = array;

        }

        public IEnumerator GetEnumerator()    //实现接口
        {

            return new BookEnum(book);      //返回方法
        }
    }



public partial class MainWindow : Window
    {
        public Student stu;
        public MainWindow()
        {
            InitializeComponent();
            Book[] book = new Book[3]        
            {

                new Book("水浒","21"),           

                new Book("三国","21"),  

                new Book("西游","21")

            };

            foreach (Book p in book)
            {

                this.textBox2.Text+="书的名字:" + p.Name + ";价格: " + p.Price;

            }
           
        }

 

实现IEnumberable接口和IEnumberator

标签:

原文地址:http://www.cnblogs.com/come-on-come-on/p/4480468.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!