C#でPythonでの range
のように連番を利用したいときのメモ(けっこう忘れるので)
Enumerable.Range
を使用する。
基本的な使い方
例えば 0 ~ 99 までの連番がほしいときは以下のようにする。
連番の作成(int)
// 第一引数が初期値で、第二引数は繰り返し回数になる。1ずつインクリメントされる。
Enumerable.Range(0, 100)
IEnumerable<T>
が返るため、foreachで利用することができる。
foreachでの利用例
foreach(var i in Enumerable.Range(0,10))
{
Console.WriteLine(i);
}
LINQと組み合わせて使う
これぐらいだと別に通常のfor文と大差ないが、Enumerable
ではLINQの利用ができる。
連番の作成(0~90)
foreach(var i in Enumerable.Range(0, 10).Select(x => x * 10))
{
Console.WriteLine(i);
}
連番を利用した文字列の作成(奇数のみ)
foreach(var i in Enumerable.Range(0, 10).Where(x => x % 2 != 0).Select(x => String.Format("{0} 回目", x)))
{
Console.WriteLine(i);
}