C# 2.0学习之--Yield

翻译 2006年06月23日 18:52:00

//Copyright (C) Microsoft Corporation.  All rights reserved.

using System;
using System.Collections.Generic;
using System.Text;

namespace Yield
{
    class Yield
    {
        public static class NumberList
        {
            // Create an array of integers.
            public static int[] ints = { 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377 };

            // Define a property that returns only the even numbers.
            public static IEnumerable<int> GetEven()
            {
                // Use yield to return the even numbers in the list.
                foreach (int i in ints)
                    if (i % 2 == 0)
                        yield return i;
            }

            // Define a property that returns only the even numbers.
            public static IEnumerable<int> GetOdd()
            {
                // Use yield to return only the odd numbers.
                foreach (int i in ints)
                    if (i % 2 == 1)
                        yield return i;
            }
        }

        static void Main(string[] args)
        {

            // Display the even numbers.
            Console.WriteLine("Even numbers");
            foreach (int i in NumberList.GetEven())
                Console.WriteLine(i);

            // Display the odd numbers.
            Console.WriteLine("Odd numbers");
            foreach (int i in NumberList.GetOdd())
                Console.WriteLine(i);
        }
    }
}

 


 

csc Yield.cs
Yield

C# 2.0 新特性之迭代器, Yield Return

本文摘自:http://www.cnblogs.com/montaque/archive/2005/04/21/142844.htmlC# 2.0 可能讨论比较多的是泛型, 其次可能就是迭代器,匿名方...
  • VS_URL
  • VS_URL
  • 2012年07月23日 15:15
  • 1316

C# Kinect 2.0 SDK 学习笔记(0)——基本情况介绍

去年十一的时候凑热闹买了个国行版的Xbox One,玩了一阵子之后开始对摄像头感兴趣,咬咬牙又买了个Adapter,把Kinect二代摄像头接到了电脑上,上网找了很多资料,官方2.0的SDK已经放出,...

C# Kinect 2.0 SDK 学习笔记(1)——彩色影像数据流

彩色影像数据流是Kinect摄像头最基本的数据,图像相当于一般的摄像头(废话)。 本节主要是获取Kinect摄像头的彩色影像数据,在Image控件上将其展示出来。 新建WPF项目KinectC...

net学习之C#面向对象 大富翁(飞行棋)V2.0 面向对象实现.

这个版本使用了类,对象. 加入了人机对战功能。 新建了 Player 玩家类. 通过Player类来控制 玩家的行为 Player 类 有以下方法: 掷塞子  ThrowTheDice() 移动 Mo...

C# yield关键字详解

对于yield关键字我们首先看一下msdn的解释: 如果你在语句中使用 yield 关键字,则意味着它在其中出现的方法、运算符或 get 访问器是迭代器。 通过使用 yield 定义迭代器,可在实现...
  • cbbbc
  • cbbbc
  • 2015年12月09日 10:32
  • 3515

C#中yield return用法分析

本文实例讲述了C#中yield return用法,并且对比了使用yield return与不使用yield return的情况,以便读者更好的进行理解。具体如下: yield关键字用于遍历循环中,y...
  • ybhjx
  • ybhjx
  • 2016年05月27日 10:41
  • 1735

C#中yield return用法分析

本文实例讲述了C#中yield return用法,并且对比了使用yield return与不使用yield return的情况,以便读者更好的进行理解。具体如下: yield关键字用于遍历循环中,y...

C# yield语句

yield关键字向编译器指示它所在的方法时迭代器块,在该块中yield关键字与return关键字结合使用向枚举器对象提供值,yield与break结合使用表示迭代结束。 以下为yield语句的两种形...
  • Lorwy
  • Lorwy
  • 2013年03月23日 11:07
  • 545

C# ~ 从 IEnumerable / IEnumerator 到 IEnumerable<T> / IEnumerator<T> 到 yield

IEnumerable / IEnumerator 首先,IEnumerable / IEnumerator 接口定义如下:public interface IEnumerable /// 可枚举接...
  • qing101
  • qing101
  • 2016年08月10日 11:48
  • 746

C#笔记 协程coroutines yield return

coroutines在unity里用处多多,用的好可以大量简化代码。 例如: 让loading场景绘制进度条不阻塞,这里异步加载关卡的函数还是必须的。 简化编写不同阶段不同行为的GameObje...
  • fjl2007
  • fjl2007
  • 2015年07月13日 11:39
  • 2829
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C# 2.0学习之--Yield
举报原因:
原因补充:

(最多只允许输入30个字)