Ответ 1
Это, вероятно, будет немного быстрее - и это, безусловно, проще:
int[] values = Enumerable.Range(start, end - start).ToArray();
Вам определенно нужно это как массив? Если вам нужно только перебрать его, вы можете просто использовать Enumerable.Range
, чтобы получить IEnumerable<int>
, который никогда не должен действительно удерживать все числа в памяти на в то же время.