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