web-dev-qa-db-ja.com

LINQを使用して、特定の範囲の数値をリストに入力する

_List<int>_に1からnの範囲の数値を入力するには、次のように使用できます。

_for (i=1; i<=n; i++)
{
   myList.Add(i);
}
_

LINQインライン式を使用して同じ結果を得る方法はありますか?

[〜#〜]更新[〜#〜]

整数を指定すると月の名前を返すメソッドgetMonthName(i)があるとします。 Enumerableを使用して、リストに月の名前を直接入力できますか?

30
CiccioMiami
Enumerable.Range(1,12).Select(getMonthName);
46
rasmusvhansen

使いたい Enumerable.Range

myList.AddRange(Enumerable.Range(1, n));

または

myList = Enumerable.Range(1, n).ToList();

この種の質問をしている場合は、 System.Linq.Enumerable のメソッドを確認することをお勧めします。これは、このすべてが保持される場所です。 ToLookupConcat(vs Union)、およびRepeatをお見逃しなく。

30
Amy B

月名にはSelect()を使用できます。

var months = Enumerable.Range(1,n).Select(getMonthName);
3
AlanT