Как я могу инициализировать список С# в той же строке, которую я объявляю. (Пример коллекции строк IEnumerable)
Я пишу свой тестовый код, и я не хочу писать wo:
List<string> nameslist = new List<string>();
nameslist.Add("one");
nameslist.Add("two");
nameslist.Add("three");
Я хотел бы написать
List<string> nameslist = new List<string>({"one", "two", "three"});
Однако { "one", "two", "three" } не является "IEnumerable string Collection". Как я могу инициализировать это в одной строке, используя строку IEnumerable Collection??
Ответы
Ответ 1
var list = new List<string> { "One", "Two", "Three" };
По существу, синтаксис:
new List<Type> { Instance1, Instance2, Instance3 };
Что переводится компилятором как
List<string> list = new List<string>();
list.Add("One");
list.Add("Two");
list.Add("Three");
Ответ 2
Измените код на
List<string> nameslist = new List<string> {"one", "two", "three"};
или
List<string> nameslist = new List<string>(new[] {"one", "two", "three"});
Ответ 3
Просто потеряйте скобку:
var nameslist = new List<string> { "one", "two", "three" };
Ответ 4
List<string> nameslist = new List<string> {"one", "two", "three"} ?
Ответ 5
Удалите круглые скобки:
List<string> nameslist = new List<string> {"one", "two", "three"};
Ответ 6
Это зависит от того, какую версию С# вы используете, начиная с версии 3.0, которую вы можете использовать...
List<string> nameslist = new List<string> { "one", "two", "three" };
Ответ 7
Я думаю, что это будет работать для int, long и строковых значений.
List<int> list = new List<int>(new int[]{ 2, 3, 7 });
var animals = new List<string>() { "bird", "dog" };