Быстрый способ создания списка значений в С#?

Я ищу быстрый способ создания списка значений в С#. В Java я часто использую фрагмент ниже:

List<String> l = Arrays.asList("test1","test2","test3");

Есть ли какой-либо эквивалент в С#, кроме очевидного ниже?

IList<string> l = new List<string>(new string[] {"test1","test2","test3"});

Ответ 2

Если вы хотите уменьшить беспорядок, рассмотрите

var lst = new List<string> { "foo", "bar" };

Это использует две функции С# 3.0: ввод типа (ключевое слово var) и инициализатор коллекции для списков.

В качестве альтернативы, если вы можете обойтись с массивом, это еще короче (на небольшую сумму):

var arr = new [] { "foo", "bar" };

Ответ 3

В С# 3 вы можете:

IList<string> l = new List<string> { "test1", "test2", "test3" };

Это использует синтаксис нового инициализатора коллекции в С# 3.

В С# 2 я бы просто использовал ваш второй вариант.

Ответ 4

IList<string> list = new List<string> {"test1", "test2", "test3"}

Ответ 5

Вы можете отказаться от части new string[]:

List<string> values = new List<string> { "one", "two", "three" };

Ответ 6

Вы можете немного упростить эту строку кода на С#, используя сборщик.

var lst = new List<string> {"test1","test2","test3"};

Ответ 7

Вы можете создать вспомогательный общий статический метод для создания списка:

internal static class List
{
    public static List<T> Of<T>(params T[] args)
    {
        return new List<T>(args);
    }
}

И тогда использование очень компактно:

List.Of("test1", "test2", "test3")

Ответ 8

Вы можете сделать это с

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 });

Как вы можете видеть в большинстве случаев, это просто добавление значений в фигурных скобках или создание нового массива с последующими фигурными скобками и значениями.

Ответ 9

Если вы хотите создать типизированный список со значениями, здесь представлен синтаксис.

Предполагая, что класс 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"}
            };

Ответ 10

Список значений быстро? Или даже список объектов!

Я только начинающий на языке С#, но мне нравится использовать

  • Hashtable
  • Arraylist
  • Datatable
  • Datasets

и др.

Слишком много способов хранения элементов