Встроенное объявление List.AddRange - PullRequest
7 голосов
/ 26 марта 2010

Это может показаться простым вопросом, но не для меня, также поиск ни к чему не привел. До сих пор единственное программирование .net, которое я делал, было с Delphi Prism. С Prism я могу делать такие вещи, как:

var l := new List<String>(['A','B','C']);

или

var l := new List<String>;
l.AddRange(['A','B','C'];

но могу ли я сделать то же самое в C #, или я должен сделать это следующим образом:

var a = new String[] {"A","B","C"};
var l = new List<String>(a);

Ответы [ 4 ]

23 голосов
/ 26 марта 2010
 var l=new List<String>() {"A","B","C"};  

это будет работать

4 голосов
/ 26 марта 2010

инициализатор коллекции:

var list = new List<string>
{
    "A",
    "B",
    "C"
};

или правильный ctor (смешанный с инициализатором коллекции):

var list = new List<string>(new [] { "A", "B", "C" });
  • msdn для информации ctor
  • msdn для инициализатора коллекции
1 голос
/ 26 марта 2010

Вы можете использовать Инициализаторы коллекции для достижения желаемого результата.

0 голосов
/ 26 марта 2010

Как уже упоминалось выше, используйте инициализаторы коллекции. Кроме того, если вы хотите преобразовать строку [] в список, вы можете использовать метод расширения ToList () в пространстве имен System.Linq, например:

string[] s = { "3", "4", "4"};
List<string> z = s.ToList();
...