最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中yield用法使用說(shuō)明

 更新時(shí)間:2015年10月13日 11:58:10   投稿:lijiao  
本文介紹了C#中yield的使用方法,yield 語(yǔ)句不能出現(xiàn)在匿名方法,其他相關(guān)內(nèi)容就仔細(xì)閱讀下文吧

在迭代器塊中用于向枚舉數(shù)對(duì)象提供值或發(fā)出迭代結(jié)束信號(hào)。它的形式為下列之一:
yield return <expression>;
yield break;
備注:
計(jì)算表達(dá)式并以枚舉數(shù)對(duì)象值的形式返回;expression 必須可以隱式轉(zhuǎn)換為迭代器的 yield 類(lèi)型。
yield 語(yǔ)句只能出現(xiàn)在 iterator 塊中,該塊可用作方法、運(yùn)算符或訪問(wèn)器的體。這類(lèi)方法、運(yùn)算符或訪問(wèn)器的體受以下約束的控制:不允許不安全塊。
方法、運(yùn)算符或訪問(wèn)器的參數(shù)不能是 ref 或 out。
yield 語(yǔ)句不能出現(xiàn)在匿名方法中。
當(dāng)和 expression 一起使用時(shí),yield return 語(yǔ)句不能出現(xiàn)在 catch 塊中或含有一個(gè)或多個(gè) catch 子句的 try 塊中。
yield return 提供了迭代器一個(gè)比較重要的功能,即取到一個(gè)數(shù)據(jù)后馬上返回該數(shù)據(jù),不需要全部數(shù)據(jù)裝入數(shù)列完畢,這樣有效提高了遍歷效率。

以下是一個(gè)比較特殊的例子:

C# 中yield 的用法代碼引用:

using System;
using System.Collections;
using System.IO;
using Microsoft.Office.Interop.PowerPoint;
using Microsoft.Office.Core;
using System.Windows.Forms;
using System.Threading;

namespace test
{
  public class Persons : System.Collections.IEnumerable
  {
    #region IEnumerable 成員

    public System.Collections.IEnumerator GetEnumerator()
    {
      yield return "1";
      Thread.Sleep(5000);
      yield return "2";
      Thread.Sleep(5000);
      yield return "3";
      Thread.Sleep(5000);
      yield return "4";
      Thread.Sleep(5000);
      yield return "5";
      Thread.Sleep(5000);
      yield return "6";
    }

    #endregion
  }

  class program
  {
    static void Main()
    {
      Persons arrPersons = new Persons();
      foreach (string s in arrPersons)
      {
        System.Console.WriteLine(s);
      }

      System.Console.ReadLine();
    }
  }  
}

每隔5秒鐘, 控制臺(tái)就會(huì)輸出一個(gè)數(shù)據(jù),直到全部數(shù)據(jù)輸入完畢。

以上就是關(guān)于C#中yield用法使用說(shuō)明,希望對(duì)大家的學(xué)習(xí)有所幫助。

相關(guān)文章

最新評(píng)論

平顺县| 全州县| 临颍县| 云浮市| 宿州市| 综艺| 嵊州市| 安宁市| 张北县| 东山县| 祁阳县| 中江县| 梓潼县| 绵竹市| 肃南| 南昌县| 通海县| 新营市| 休宁县| 南陵县| 和平区| 德昌县| 胶州市| 长武县| 体育| 海口市| 姜堰市| 贵州省| 衢州市| 罗甸县| 六安市| 武鸣县| 尼勒克县| 邢台县| 南京市| 城固县| 赤峰市| 焦作市| 志丹县| 浮山县| 五河县|