可能性のある複製:
。NETで整数のリストに入力
これ以外のC#で整数のリストを初期化するより簡単な方法またはよりエレガントな方法はありますか?
List<int> numberList = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
または
for(int i = 1; i <= 10; i++)
{
numberList.Add(i);
}
特にリストに多数の値が含まれている場合は、あまり実用的ではないようです。ループはより実用的な解決策でしょうか?
おかげで、
CC
Enumerable.Range()
メソッドを利用できます:
var numberList = Enumerable.Range(1, 10).ToList();
最初のパラメーターは開始する整数で、2番目のパラメーターは含める整数の数です。
初期化リストがfrom
からend
までの連続した値のシーケンスのように単純な場合は、単に言うことができます
var numbers = Enumerable.Range(from, end - from + 1)
.ToList();
初期化リストがf
からint
からint
へのマッピングで定義できるもう少し複雑なものである場合、次のように言えます。
var numbers = Enumerable.Range(from, end - from + 1)
.Select(n => f(n))
.ToList();
例えば:
var primes = Enumerable.Range(1, 10)
.Select(n => Prime(n))
.ToList();
Prime
がFunc<int, int>
を取り、n
th個の素数を返すint n
であると仮定して、最初の10個の素数を生成します。