Как преобразовать List <int> в строку []?

Мне нужен простой способ преобразования массива List<int> в string.

У меня есть:

var the_list = new List<int>();
the_list.Add(1);
the_list.Add(2);
the_list.Add(3);

string[] the_array = new string[the_list.Count];
for(var i = 0 ; i < the_array.Count; ++i)
    the_array[i] = the_list[i].ToString();

... который выглядит очень уродливым для меня.

Есть ли более простой способ?


Примечание. Я ищу более простой способ - не обязательно более быстрый способ.

Ответы

Ответ 1

Используйте LINQ:

string[] the_array = the_list.Select(i => i.ToString()).ToArray();

Ответ 2

Извините, у меня нет .NET, установленного на этой машине, поэтому полностью непроверено:

var theList = new List<int>() { 1, 2, 3 };

var theArray = theList.Select(e => e.ToString()).ToArray();       // Lambda Form
var theArray = (from e in theList select e.ToString()).ToArray(); // Query Form

Ответ 3

Я знаю, что у вас есть хороший ответ, но вам не нужны LINQ или Select. Вы можете сделать это с помощью ConvertAll и анонимного метода. Вот так:

var list = new List<int>();
....
var array = list.ConvertAll( x => x.ToString() ).ToArray(); 

Подобная идея, но я думаю, что это не linq. в случае, если это имеет значение.

Ответ 4

Список имеет метод ToArray(). Это поможет вам печатать, но, вероятно, не будет более эффективным.