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
  • 1263

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

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

C#高级编程三十五天----foreach和yield

枚举 在foreach语句中使用枚举,可以迭代集合中的元素,且无需知道集合中的元素个数. 数组或集合实现带GetEumerator()方法的IEumerable接口.GetEumerator()方...

Unity 3D Coroutine&yield(C#脚本)

线程图如上: (两张图是引用) 协程(Coroutine)如下: 线程使CPU的性能得到了极大的提高,在写Unity的脚本时,刚好一个代码我想用Thread实现,但是在线程实现的时候...

C#关键字之yield(迭代器)

今天讲到迭代器,对迭代器中yield关键字做了研究。   说起yield,不得不先说说迭代器。 迭代器是C# 2.0中的新功能,有了它,我们就可以在自己的类或者结构中支持foreach迭代而不必...
  • wmqdn
  • wmqdn
  • 2012-05-05 09:50
  • 321

C#中的yield关键字的使用方法介绍

yield这个关键字是和迭代器挂钩的,而且是与return一起以yield return的形式合用的,用来返回迭代器中的条目。 yield不能单独放在try-catch块中,如果try中有yield...

C# yield Statement

C#1.0 通过使用Foreach语句使得迭代集合(collection)变得简单,在C#1.0中,还需要创建枚举器(Enumerator.)的工作要做,为此、C#2.0新增了yield语句、很方便的...

C#中yield关键字用法(以及delegate/Lambde/Linq之间的关系)

C#中yield关键字用法(以及delegate/Lambde/Linq之间的关系)/// /// 未使用yield关键字过滤数据 /// //public static IEn...

C# yield return用法分析

原文:http://www.jb51.net/article/54810.htm 本文实例讲述了C#中yield return用法,并且对比了使用yield return与不使用yield ...

C#中的yield关键字

1.yield return 语句可一次返回一个元素 2.yield break; // 终止迭代查询 Yield关键字后程序的执行过程: Typical Implementation:...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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