Создайте Список <интервал> со значениями во время компиляции

Пара вопросов: 1. Какую ОС вы используете? Я предполагаю, что Amazon Linux, но хочу подтвердить ... 2. Делали ли вы что-нибудь для изменения групп безопасности в консоли управления? Какова ваша группа безопасности / конфигурация VPC? 3. Вы закрываете экземпляр, затем снова включаете его или перезагружаетесь? Как вы это делали (действие команды или консоли управления)? 4. В консоли управления вы можете получить системный журнал и вставить его сюда?

Скорее всего: 1. Вы настроили брандмауэр или ваши группы безопасности не правы. 2. Вы закрыли экземпляр с автоматически назначенным общедоступным IP-адресом. В этом случае IP изменится. 3. Вы сделали что-то, уничтожившее системную службу, которая препятствует загрузке машины.

26
задан Patrick McDonald 22 August 2019 в 11:12
поделиться

4 ответа

List<int> myValues = new List<int>(new int[] { 1, 2, 3 } );

Однако это создаст промежуточный массив, так что может быть более эффективный способ сделать то же самое.

РЕДАКТИРОВАТЬ:

Джон Феминелла предложил создать фабричный метод для примите список параметров и верните список, который вы можете реализовать следующим образом:

List<T> CreateList<T>(params T[] values)
{
    return new List<T>(values);
}

, который вы можете использовать следующим образом:

List<int> myValues = CreateList(1, 2, 3);
49
ответ дан 28 November 2019 в 06:10
поделиться

У Патрика есть ответ, который вы ищете. Но я хотел бы добавить немного. Если вы хотите использовать более длинные диапазоны чисел и не хотите печатать их вручную, вам следует обратиться к методу Enumerable.Range. Он может быть использован для генерации диапазона последовательных чисел во время выполнения. Например, ваш образец мог быть записан следующим образом

var list = Enumerable.Range(1,3).ToList();
33
ответ дан 28 November 2019 в 06:10
поделиться

То, что вы предлагаете, было впервые введено в C # 3.0 (не имеет ничего общего с LINQ, была введена языковая функция).

Там нет «ярлыка» (инициализация списка) в C # 2.0, чтобы сделать это, либо создайте новый список, а затем добавьте числа вручную через myValues.Add, либо вы можете сделать следующее:

int[] arrMyValues = new int[] {1, 2, 3};
List<int> myValues = new List<int>(arrMyValues);

Список T может принимать IEnumerable из T в своем конструкторе, из которого он Я включу все T в этот IEnumerable из созданного списка, так как int [] реализует IEnumerable of T, и вы можете «смешивать и сочетать» такие функции.

Кроме того, в C # 2.0 нет способа сделать такое вещь, которую вы описываете.

4
ответ дан 28 November 2019 в 06:10
поделиться

Инициализаторы коллекций - это просто синтаксический сахар, поэтому их можно использовать в приложении, нацеленном на 2.0, если вы компилируете с компилятором 3.0.

3
ответ дан 28 November 2019 в 06:10
поделиться
Другие вопросы по тегам:

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