C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のイテレータ関数


イテレータメソッドは、コレクションに対してカスタム反復を実行します。これは、yield returnステートメントを使用して、各要素を一度に1つずつ返します。イテレータは現在の場所を記憶し、次の反復で次の要素が返されます。

以下は例です-

using System;
using System.Collections.Generic;
using System.Linq;

namespace Demo {
   class Program {
      public static IEnumerable display() {
         int[] arr = new int[] {99,45,76};

         foreach (var val in arr) {
            yield return val.ToString();
         }
      }

      public static void Main(string[] args) {
         IEnumerable ele = display();
         foreach (var element in ele) {
            Console.WriteLine(element);
         }  
      }
   }
}

出力

99
45
76

上記には、yieldステートメントを使用して一度に1つの要素を返すイテレータメソッドdisplay()があります-

public static IEnumerable display() {
   int[] arr = new int[] {99,45,76};

   foreach (var val in arr) {
      yield return val.ToString();
   }
}

結果が保存され、各要素が繰り返されて印刷されます-

IEnumerable ele = display();
foreach (var element in ele) {
   Console.WriteLine(element);
}

  1. JavaScriptの高階矢印関数。

    JavaScriptは関数をオブジェクトとして扱い、関数をパラメーターとして別の関数に渡したり、他の関数から関数を返したりすることもできます。 JavaScriptでは、関数はファーストクラスの関数です。つまり、変数、オブジェクト、配列に格納できます。高次の矢印関数は、関数を取得するか、関数を返すか、またはその両方を実行できます。 以下は、JavaScriptの高階矢印関数のコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"

  2. JavaScriptの速記関数を説明しますか?

    略記関数とも呼ばれる矢印関数はES2015で導入され、関数をより短い方法で記述できるようになりました。彼らはこれに独自の拘束力を持たず、周囲の文脈からこれを取得します。 以下は、JavaScriptの省略関数を示すコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initi