以下の内容はhttps://ytyaru.hatenablog.com/entry/2022/02/22/000000より取得しました。


C#の概念 イテレータ

 繰り返すヤツ。

成果物

情報源

コード

 以下コードはすべて同じ結果になる。

foreach

foreach (var item in new int[] { 1,3,5 }) {
    Console.WriteLine($"{item}");
}

 配列の要素を1つずつitemに代入してループする。

IEnumerable, yield return

using System.Collections.Generic;

private IEnumerable<int> ReturnYield() {
    yield return 1;
    yield return 3;
    yield return 5;
}
foreach (var item in ReturnYield()) {
    Console.WriteLine($"{item}");
}

 yield returnにて1つずつ返す。

式、文

private IEnumerable<int> ReturnYield() {
    for (int i=0; i<6; i++) {
        if (1 == (i%2)) { yield return i; }
    }
}

 yield returnは式や文の中でも使える。

 ただしreturnとの混在は不可。

対象環境

$ uname -a
Linux raspberrypi 4.19.42-v7+ #1218 SMP Tue May 14 00:48:17 BST 2019 armv7l GNU/Linux



以上の内容はhttps://ytyaru.hatenablog.com/entry/2022/02/22/000000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14