您的位置:首页 > 编程语言 > C#

C# yield return 的作用

2014-02-12 18:40 281 查看
msdn介绍:

http://msdn.microsoft.com/zh-cn/library/9k7k7cf0.aspx

DEMO源码:

using System;
using System.Collections;
using System.Threading;

namespace YieldKeywordTestingProject
{
/// <summary>
/// jave.lin
/// 20114-02-12
/// </summary>
class Program
{
static bool delay = true;

static void Main(string[] args)
{
var result = getResult();
Console.WriteLine("first writeline : " + result.Current);
while (result.MoveNext())
{
Console.WriteLine("outside writeLine : {0}", result.Current);
}
Console.WriteLine("yield return Over!!!");
Console.ReadLine();
}

static IEnumerator getResult()
{
//var arr = Array.CreateInstance(typeof(Program), 1);
var arr = new int[] { 1, 2, 3, 45, 23, 23, 4, 3213 };
foreach (var item in arr)
{
yield return item;
Console.WriteLine(item);
// 关键看这里,如果delay为true时的输出,是与delay为false一样的;
// 这样你就对yield return 的理解更深了;
if (delay) Thread.Sleep(100);
}
}
}
}


visual studio 创建一个C# Console项目;

运行效果:



注意,我将delay改成true之后



图片看不全的,可以右键图片,复制图片地址,再打开新的子页面,复制过去看;

或是有的浏览器直接有:在新标签页中打开图片,之类的选项菜单;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: