Подтвердить что ты не робот

Создание списка номеров в С#

Мне часто нужно создавать списки чисел. Интервалы могут иметь довольно много цифр. У меня есть такой метод:

public static int[] GetNumbers(int start, int end)
{
    List<int> list = new List<int>();
    for (int i = start; i < end; i++)
        list.Add(i);
    return list.ToArray();
}

Есть ли способ сделать это проще, быстрее?

Я использую .NET 3.5

4b9b3361

Ответ 1

Это, вероятно, будет немного быстрее - и это, безусловно, проще:

int[] values = Enumerable.Range(start, end - start).ToArray();

Вам определенно нужно это как массив? Если вам нужно только перебрать его, вы можете просто использовать Enumerable.Range, чтобы получить IEnumerable<int>, который никогда не должен действительно удерживать все числа в памяти на в то же время.