• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

C#如何创建一个列表类来实现 IEnumerable 和 yield 及实现迭代

OC/C/C++ 水墨上仙 1815次浏览

示例演示如何创建一个列表类来实现 IEnumerable 和 yield 关键字,以对列表的内容启用 foreach 迭代

using System;
using System.Collections.Generic;
using System.Text;
namespace Yield
{
    class Yield
    {
        public static class NumberList
        {
            // 创建一个整数数组。
            public static int[] ints = { 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377 };
            // 定义一个仅返回偶数的属性。
            public static IEnumerable<int> GetEven()
            {
                // 使用 yield 返回列表中的偶数。
                foreach (int i in ints)
                    if (i % 2 == 0)
                        yield return i;
            }
            // 定义一个仅返回偶数的属性。
            public static IEnumerable<int> GetOdd()
            {
                // 使用 yield 仅返回奇数。
                foreach (int i in ints)
                    if (i % 2 == 1)
                        yield return i;
            }
        }
        static void Main(string[] args)
        {
            // 显示偶数。
            Console.WriteLine("Even numbers");
            foreach (int i in NumberList.GetEven())
                Console.WriteLine(i);
            // 显示奇数。
            Console.WriteLine("Odd numbers");
            foreach (int i in NumberList.GetOdd())
                Console.WriteLine(i);
        }
    }
}


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明C#如何创建一个列表类来实现 IEnumerable 和 yield 及实现迭代
喜欢 (0)
加载中……