Простой способ заполнить список целыми числами в .NET.
Возможный дубликат:
Заполнение списка целых чисел в .NET
Есть ли более простой или более элегантный способ инициализации списка целых чисел в С#, кроме этого?
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
Ответы
Ответ 1
Поскольку вы уже используете С#, вы можете использовать метод 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>
, который принимает int n
и возвращает n
th prime.