Заполнение списка целых чисел in.NET
Мне нужен список чисел от 1 до X, где X задается пользователем. Я мог бы построить его с помощью цикла for, например, предполагая, что x-это целочисленный набор ранее:
List<int> iList = new List<int>();
for (int i = 1; i <= x; i++)
{
iList.Add(i);
}
это кажется глупым, конечно, есть более элегантный способ сделать это, что-то вроде PHP range method
4 ответа:
Если вы используете .Net 3.5,перечисли.Диапазон это то, что вам нужно.
генерирует последовательность целых номера в пределах указанного диапазона.
LINQ to the rescue:
// Adding value to existing list var list = new List<int>(); list.AddRange(Enumerable.Range(1, x)); // Creating new list var list = Enumerable.Range(1, x).ToList();
посмотреть Операторы Поколение on LINQ 101
Я один из многих, кто имеет блоге о рубиново-ля до метод расширения, который вы можете написать, если вы используете C#3.0:
public static class IntegerExtensions { public static IEnumerable<int> To(this int first, int last) { for (int i = first; i <= last; i++)
{ yield return i; } } }тогда вы можете создать свой список целых чисел, как это
List<int> = first.To(last).ToList();
или
List<int> = 1.To(x).ToList();