Пара вопросов: 1. Какую ОС вы используете? Я предполагаю, что Amazon Linux, но хочу подтвердить ... 2. Делали ли вы что-нибудь для изменения групп безопасности в консоли управления? Какова ваша группа безопасности / конфигурация VPC? 3. Вы закрываете экземпляр, затем снова включаете его или перезагружаетесь? Как вы это делали (действие команды или консоли управления)? 4. В консоли управления вы можете получить системный журнал и вставить его сюда?
Скорее всего: 1. Вы настроили брандмауэр или ваши группы безопасности не правы. 2. Вы закрыли экземпляр с автоматически назначенным общедоступным IP-адресом. В этом случае IP изменится. 3. Вы сделали что-то, уничтожившее системную службу, которая препятствует загрузке машины.
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);
У Патрика есть ответ, который вы ищете. Но я хотел бы добавить немного. Если вы хотите использовать более длинные диапазоны чисел и не хотите печатать их вручную, вам следует обратиться к методу Enumerable.Range. Он может быть использован для генерации диапазона последовательных чисел во время выполнения. Например, ваш образец мог быть записан следующим образом
var list = Enumerable.Range(1,3).ToList();
То, что вы предлагаете, было впервые введено в 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 нет способа сделать такое вещь, которую вы описываете.
Инициализаторы коллекций - это просто синтаксический сахар, поэтому их можно использовать в приложении, нацеленном на 2.0, если вы компилируете с компилятором 3.0.