Что такое метод /синтаксис C # для преобразования массива в простую строку?

То, что я ищу, является базовым эквивалентом JavaScript Array::join(), в котором вы передаете символ-разделитель и используете его в своем возвращении Строка всех подписок. Я, конечно, мог бы написать свою собственную функцию, используя StringBuilder или еще много чего, но должно быть чем-то встроенным в. NET BCL.

РЕДАКТИРОВАТЬ: массив чего-либо , не обязательно string или char. Я бы предпочел, чтобы метод просто вызывал ToString() для каждого нижнего индекса object. String.Join() отлично, за исключением того, что вы передаете ему массив строк.

4 голоса | спросил Neil C. Obremski 20 +04002008-10-20T23:06:37+04:00312008bEurope/MoscowMon, 20 Oct 2008 23:06:37 +0400 2008, 23:06:37

3 ответа


0

Если массив содержит строки, вы можете просто использовать String.Join() . Если массив не содержит строк, вам понадобится что-то более сложное, чтобы вы могли обрабатывать процесс приведения или преобразования для каждого элемента, который он содержит.

Обновление . Использование кода @ JaredPar в качестве основы для более общего примера:

char sep = GetSeparatorChar();
object[] toJoin = GetToJoin();
string joined = toJoin.Aggregate((x,y) => x.ToString()+sep.ToString()+y.ToString());

Очевидно, что в этом примере вы можете сделать все, что захотите, по x и y, чтобы строка выглядела так, как вы хотели.

ответил Joel Coehoorn 20 +04002008-10-20T23:07:36+04:00312008bEurope/MoscowMon, 20 Oct 2008 23:07:36 +0400 2008, 23:07:36
0

Если String.Join не сделает это за вас - например, у вас есть IEnumerable<string> вместо string[] или у вас есть коллекция другого типа, смотрите этот предыдущий вопрос .

ответил Jon Skeet 20 +04002008-10-20T23:28:24+04:00312008bEurope/MoscowMon, 20 Oct 2008 23:28:24 +0400 2008, 23:28:24
0

Мне неясно, присоединились ли вы к массиву символов или строк.

Для строк


char sep = GetSeparatorChar();
string[] toJoin = GetToJoin();
string joined = toJoin.Aggregate((x,y) => x+sep.ToString()+y);
ответил JaredPar 20 +04002008-10-20T23:09:15+04:00312008bEurope/MoscowMon, 20 Oct 2008 23:09:15 +0400 2008, 23:09:15

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132