web-dev-qa-db-ja.com

.NETで整数をリストに追加する簡単な方法

可能性のある複製:
。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

88

Enumerable.Range() メソッドを利用できます:

var numberList = Enumerable.Range(1, 10).ToList();

最初のパラメーターは開始する整数で、2番目のパラメーターは含める整数の数です。

181
Rion Williams

初期化リストが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();

PrimeFunc<int, int>を取り、nth個の素数を返すint nであると仮定して、最初の10個の素数を生成します。

41
jason