温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

IEnumerable接口

发布时间:2020-07-15 14:57:32 来源:网络 阅读:228 作者:1473348968 栏目:编程语言

=================================================简单的实现IEnumerable接口

------------------------------------Person.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
namespace ConsoleApplication6
{
    public class Person
    {
        public string Name { get; set; }
    }
}

------------------------------------PerAll.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
namespace ConsoleApplication6
{
    public class PerAll:IEnumerable
    {
        Person[] p = new Person[3];//实例化长度为三个的数组
        public PerAll()//构造函数初始化数组
        {
            p[0] = new Person { Name = "张三" };
            p[1] = new Person { Name = "李四" };
            p[2] = new Person { Name = "王五" };
        }
        public IEnumerator GetEnumerator()//迭代器
        {
            return p.GetEnumerator();//直接调用数组自带的的GetEnumerator。(简单委托请求到System.Array)
        }
    }
}

------------------------------------主程序

            PerAll p = new PerAll();//实例化对象
            //-------------------第一种方式遍历
            foreach (Person  item in p)
            {
                Console.WriteLine(item.Name);
            }
            //-------------------第二中方式遍历
            IEnumerator ie = p.GetEnumerator();
            while (ie.MoveNext())
            {
                Console.WriteLine((ie.Current as Person).Name);
            } 
            
            
            
            //普通数组遍历
            string[] str = new string[3] { "张辽", "张合", "张飞" };
            IEnumerator strie = str.GetEnumerator();
            while (strie.MoveNext())
            {
                Console.WriteLine(strie.Current as string);
            }

 

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI