C#에서 yield 사용 방법 설명

1903 단어
교체 블록에서 매거수 대상에게 값을 제공하거나 교체 종료 신호를 보내는 데 사용됩니다.그것의 형식은 다음과 같다.yield break; 비고: 표현식을 계산하고 매거수 대상 값으로 되돌려줍니다.expression은 교체기의 yield 형식으로 은밀하게 변환할 수 있어야 합니다.ield 문장은iterator 블록에만 나타날 수 있으며, 이 블록은 방법, 연산자, 액세서리의 체로 사용할 수 있습니다.이러한 방법, 연산자 또는 액세서리의 체는 다음과 같은 제약을 받는다. 안전하지 않은 블록은 허용되지 않는다.방법, 연산자, 접근기의 매개 변수는ref 또는out일 수 없습니다.yield 문장은 익명 방법에 나타날 수 없습니다.expression과 함께 사용할 때,yield return 문장은catch 블록에 나타나거나 한개 이상의catch 자구를 포함하는try 블록에 나타나지 않습니다.이 eld return은 교체기에서 비교적 중요한 기능을 제공합니다. 즉, 데이터를 찾은 후 바로 이 데이터를 되돌려줍니다. 모든 데이터를 수열에 불러올 필요가 없습니다. 이렇게 하면 스트리밍 효율을 높일 수 있습니다.
다음은 비교적 특수한 예이다.
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초 간격으로 데이터를 출력합니다.
이상은 C#에서 yield 사용법에 대한 설명입니다. 여러분의 학습에 도움이 되었으면 합니다.

좋은 웹페이지 즐겨찾기