8

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);
AJ.
  • 10,732
  • 13
  • 41
  • 50

4 Answers4

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

this will work

RameshVel
  • 64,778
  • 30
  • 169
  • 213
  • Following recent revisions to the C# language, you would drop the (). The current syntax is --- var l = new List {"A","B","C"}; – Tim Jones Feb 13 '23 at 13:00
6

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
1

You can use Collection Initializers to achieve desired result.

Giorgi
  • 30,270
  • 13
  • 89
  • 125
0

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();
Raj Kaimal
  • 8,304
  • 27
  • 18