user1685652
user1685652

Reputation: 199

Convert IEnumerable to List<string> in .net 2.0

I need to convert IEnumerable to a List<string>. one of the way is to itearte through this and add each object to a list but this process is vary time consuming. Is there any other way to do this. Any help would be appreciated.

Upvotes: 5

Views: 19882

Answers (1)

Daniel Hilgarth
Daniel Hilgarth

Reputation: 174457

You can pass the enumerable directly into the constructor of a new List<string> instace:

List<string> list = new List<string>(yourEnumerable);

or you can use the AddRange method:

List<string> list = new List<string>();
list.AddRange(yourEnumerable);

This answer assumes that you in fact already have an IEnumerable<string>.
If this is not the case, your only option is a loop:

List<string> list = new List<string>();
foreach(object item in yourEnumerable)
    list.Add(item.ToString());

BTW: You are saying:

one of the way is to itearte through this and add each object to a list but this process is vary time consuming

You need to iterate the enumerable in any case. How else would you get all values? In the first two sample codes I gave you, the enumeration is performed inside the List<T> class, but it is still happening.

Upvotes: 20

Related Questions