Как я могу инициализировать новый строковый массив из значений, содержащихся в массиве char?

2

Я хотел бы инициализировать новый массив строк из значений, содержащихся в массиве char.
Возможно ли это без использования списка?

Это то, что у меня есть до сих пор:

char[] arrChars = {'a', 'b', 'c'};
string[] arrStrings = new string[](arrChars);
Теги:

5 ответов

4
Лучший ответ
string[] arrStrings = Array.ConvertAll(arrChars, c => c.ToString());
  • 0
    Это тоже хорошо, потому что более понятно, что происходит, если вы не знакомы с методом выбора Linq
4

Почему бы не использовать цикл for для вашей инициализации? Или, если это слишком много LOC, вы можете просто использовать Linq:

string[] arrStrings = arrChars.Select(c => c.ToString()).ToArray();
  • 0
    Это самый компактный способ, приятный.
2

.NET 2:

char[] arrChars = {'a', 'b', 'c'};
string[] arrStrings = Array.ConvertAll<char, string>(arrChars, delegate(char c)
{
    return c.ToString();
});
0

используя LINQ......

char[] arrChars = {'a', 'b', 'c'};
string[] arrStrings =( from c in arrChars select "" + c).ToArray();
0
string[] arrStrings = arrChars.Select( c => new String(new []{c}) ).ToArray();

или

string[] arrStrings = arrChars.Select( c => c.ToString() ).ToArray();

Ещё вопросы

Сообщество Overcoder
Наверх
Меню