Подтвердить что ты не робот

Добавить возврат каретки в строку

У меня длинная строка.

string s1 = "'99024','99050','99070','99143','99173','99191','99201','99202','99203','99204','99211','99212','99213','99214','99215','99217','99218','99219','99221','99222','99231','99232','99238','99239','99356','99357','99371','99374','99381','99382','99383','99384','99385','99386','99391','99392'";

Я хочу

string s2 = 
            "'99024',
             '99050',
             '99070',
             '99143',
             '99173',
             '99191',
             '99201',
             '99202',....";

Иными словами. Может быть, ему нравится:

string s2 = "'99024',"+'\n'+"'99050',"+'\n'+"'99070',"+'\n'+"'99143',"+'\n'+.....;

Мне нужен краткий код. Возможно, LINQ. Спасибо.

4b9b3361

Ответ 1

string s2 = s1.Replace(",", ",\n");

Ответ 2

string s2 = s1.Replace(",", "," + Environment.NewLine);

Также, с точки зрения производительности, вот как три текущих решения, которые я видел, стекают более 100 тыс. итераций:

ReplaceWithConstant           - Ms: 328, Ticks: 810908
ReplaceWithEnvironmentNewLine - Ms: 310, Ticks: 766955 
SplitJoin                     - Ms: 483, Ticks: 1192545

ReplaceWithConstant:

string s2 = s1.Replace(",", ",\n");

ReplaceWithEnvironmentNewLine:

string s2 = s1.Replace(",", "," + Environment.NewLine);

SplitJoin:

string s2 = String.Join("," + Environment.NewLine, s1.Split(','));

ReplaceWithEnvironmentNewLine и ReplaceWithConstant находятся в пределах погрешности друг друга, поэтому функционально никакой разницы.

Использование Environment.NewLine должно быть предпочтительнее "\n" для удобства чтения и согласованности, аналогичного использованию String.Empty вместо "".

Ответ 3

string s2 = s1.Replace(",", ",\n") + ",....";

Ответ 4

Другая опция:

string s2 = String.Join("," + Environment.NewLine, s1.Split(','));

Ответ 5

Environment.NewLine следует использовать, как сказал Дэн Ригби, но есть проблема с String.Empty. Он останется всегда пустым, независимо от того, будет ли он прочитан до или после его чтения. Вчера у меня была проблема в моем проекте. Я удалил его, и он работал так, как предполагалось. Лучше объявить переменную, а затем вызвать ее, когда это необходимо. String.Empty всегда будет пустым, если переменная не должна быть инициализирована, и только тогда вы должны использовать String.Empty. Думал, что я выброшу этот кусочек для всех, поскольку я испытал это.