Пути в.NET для получения массива интервала от 0 до n

Они останутся. Вы можете позвонить git gc , чтобы очистить их. Чтобы найти их, вы можете, например, использовать git reflog и git fsck.

AFAIK, чтобы удалить их на GitHub, вы должны обратиться в службу поддержки ( см. Это ).

5
задан abatishchev 12 May 2009 в 19:42
поделиться

3 ответа

Это уже существует (возвращает IEnumerable, но при необходимости его достаточно легко изменить):

arr = Enumerable.Range(0, n);
30
ответ дан 18 December 2019 в 05:25
поделиться

На мой взгляд, самый интересный способ создания не массива, а IEnumerable , который перечисляет одно и то же число - он имеет преимущество настройки O (1) время, так как он откладывает фактическое выполнение цикла:

public IEnumerable<int> GetNumbers(int max) {
    for (int i = 0; i < max; i++)
        yield return i;
}

Этот цикл перебирает все числа от 0 до max-1 , возвращая их по одному - но он проходит только через

Вы также можете использовать это как GetNumbers (max) .ToArray () , чтобы получить «нормальный» массив.

6
ответ дан 18 December 2019 в 05:25
поделиться

Лучший ответ зависит от того, зачем вам нужен массив. Дело в том, что значение любого элемента массива равно индексу, поэтому доступ к любому элементу по сути является избыточной операцией. Почему бы не использовать класс с индексатором, который просто возвращает значение индекса? Он был бы неотличим от реального массива и мог бы масштабироваться до любого размера, за исключением того, что для его настройки не требовалось бы памяти и времени. Но у меня такое ощущение, что ты гонишься не за скоростью и компактностью. Возможно, если вы подробнее остановитесь на проблеме, лучшее решение будет более очевидным.

1
ответ дан 18 December 2019 в 05:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: