Ответ 1
Откажитесь от С# 3.0 Инициализаторы коллекции.
var list = new List<string> { "test1", "test2", "test3" };
Я ищу быстрый способ создания списка значений в С#. В Java я часто использую фрагмент ниже:
List<String> l = Arrays.asList("test1","test2","test3");
Есть ли какой-либо эквивалент в С#, кроме очевидного ниже?
IList<string> l = new List<string>(new string[] {"test1","test2","test3"});
Откажитесь от С# 3.0 Инициализаторы коллекции.
var list = new List<string> { "test1", "test2", "test3" };
Если вы хотите уменьшить беспорядок, рассмотрите
var lst = new List<string> { "foo", "bar" };
Это использует две функции С# 3.0: ввод типа (ключевое слово var
) и инициализатор коллекции для списков.
В качестве альтернативы, если вы можете обойтись с массивом, это еще короче (на небольшую сумму):
var arr = new [] { "foo", "bar" };
В С# 3 вы можете:
IList<string> l = new List<string> { "test1", "test2", "test3" };
Это использует синтаксис нового инициализатора коллекции в С# 3.
В С# 2 я бы просто использовал ваш второй вариант.
IList<string> list = new List<string> {"test1", "test2", "test3"}
Вы можете отказаться от части new string[]
:
List<string> values = new List<string> { "one", "two", "three" };
Вы можете немного упростить эту строку кода на С#, используя сборщик.
var lst = new List<string> {"test1","test2","test3"};
Вы можете создать вспомогательный общий статический метод для создания списка:
internal static class List
{
public static List<T> Of<T>(params T[] args)
{
return new List<T>(args);
}
}
И тогда использование очень компактно:
List.Of("test1", "test2", "test3")
Вы можете сделать это с
var list = new List<string>{ "foo", "bar" };
Вот некоторые другие распространенные экземпляры других общих структур данных:
толковый словарь
var dictionary = new Dictionary<string, string>
{
{ "texas", "TX" },
{ "utah", "UT" },
{ "florida", "FL" }
};
Список массивов
var array = new string[] { "foo", "bar" };
Очередь
var queque = new Queue<int>(new[] { 1, 2, 3 });
стек
var queque = new Stack<int>(new[] { 1, 2, 3 });
Как вы можете видеть в большинстве случаев, это просто добавление значений в фигурных скобках или создание нового массива с последующими фигурными скобками и значениями.
Если вы хотите создать типизированный список со значениями, здесь представлен синтаксис.
Предполагая, что класс Student, как
public class Student {
public int StudentID { get; set; }
public string StudentName { get; set; }
}
Вы можете сделать список следующим образом:
IList<Student> studentList = new List<Student>() {
new Student(){ StudentID=1, StudentName="Bill"},
new Student(){ StudentID=2, StudentName="Steve"},
new Student(){ StudentID=3, StudentName="Ram"},
new Student(){ StudentID=1, StudentName="Moin"}
};
Список значений быстро? Или даже список объектов!
Я только начинающий на языке С#, но мне нравится использовать
и др.
Слишком много способов хранения элементов