AJ.
AJ.

Reputation: 11240

List.AddRange inline declaration

This may seem an easy question, but not to me, also a search has led to nothing. Up until now the only .net programming I have done is with Delphi Prism. With Prism I can do things like:

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

or

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

but can I do a similar thing in C#, or do I have to do it like:

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

Upvotes: 8

Views: 23704

Answers (4)

Raj Kaimal
Raj Kaimal

Reputation: 8304

As mentioned above, use collection initializers. In addition, if you are looking to convert from string[] to List , you can use the ToList() extension method in the System.Linq namespace like so:

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

Upvotes: 0

RameshVel
RameshVel

Reputation: 65857

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

this will work

Upvotes: 24

Giorgi
Giorgi

Reputation: 30873

You can use Collection Initializers to achieve desired result.

Upvotes: 1

user57508
user57508

Reputation:

collection initializer:

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

or correct ctor (mixed with collection initializer):

var list = new List<string>(new [] { "A", "B", "C" });
  • msdn for ctor infos
  • msdn for collection initializer

Upvotes: 6

Related Questions