Quick way to create a list of values in C#?
I'm looking for a quick way to create a list of values in C#. In Java I frequently use the snippet below:
List<String> l = Arrays.asList("test1","test2","test3");
Is there any equivalent in C# apart from the obvious one below?
IList<string> l = new List<string>(new string[] {"test1","test2","test3"});
Solution 1:
Check out C# 3.0's Collection Initializers.
var list = new List<string> { "test1", "test2", "test3" };
Solution 2:
If you're looking to reduce clutter, consider
var lst = new List<string> { "foo", "bar" };
This uses two features of C# 3.0: type inference (the var
keyword) and the collection initializer for lists.
Alternatively, if you can make do with an array, this is even shorter (by a small amount):
var arr = new [] { "foo", "bar" };
Solution 3:
In C# 3, you can do:
IList<string> l = new List<string> { "test1", "test2", "test3" };
This uses the new collection initializer syntax in C# 3.
In C# 2, I would just use your second option.