繰り返すヤツ。
成果物
情報源
コード
以下コードはすべて同じ結果になる。
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
との混在は不可。
対象環境
- Raspbierry pi 3 Model B+
- Raspbian stretch 9.0 2018-11-13 ※
- bash 4.4.12(1)-release ※
- SQLite 3.29.0 ※
- C# dotnet 3.0.100 ※
$ uname -a Linux raspberrypi 4.19.42-v7+ #1218 SMP Tue May 14 00:48:17 BST 2019 armv7l GNU/Linux