Лучший способ повторить символ в С#C#

Место общения программистов C#
Anonymous
Лучший способ повторить символ в С#

Сообщение Anonymous »

Как лучше всего сгенерировать строку \t в C#?
Я изучаю C# и экспериментирую с разными способами выражения одного и того же.
Tabs(uint t) — функция, возвращающая строку с количеством t \t
Например, Tabs(3)< /code> возвращает "\t\t\t"
Какой из этих трех способов реализации вкладок (uint numTabs) лучше всего?
Конечно, это зависит от того, что означает слово «лучший».
  • Версия LINQ состоит всего из двух строк, и это приятно. . Но не отнимают ли вызовы повтора и агрегирования неоправданно много времени и ресурсов?
  • Версия StringBuilder очень понятна, но является ли она Класс StringBuilder почему-то медленнее?
  • Версия string является базовой, а значит, ее легко понять.< /p>
  • Разве это совсем не важно? Все ли они равны?
Все эти вопросы помогут мне лучше понять C#.
private string Tabs(uint numTabs)
{
IEnumerable tabs = Enumerable.Repeat("\t", (int) numTabs);
return (numTabs > 0) ? tabs.Aggregate((sum, next) => sum + next) : "";
}

private string Tabs(uint numTabs)
{
StringBuilder sb = new StringBuilder();
for (uint i = 0; i < numTabs; i++)
sb.Append("\t");

return sb.ToString();
}

private string Tabs(uint numTabs)
{
string output = "";
for (uint i = 0; i < numTabs; i++)
{
output += '\t';
}
return output;
}


Подробнее здесь: https://stackoverflow.com/questions/411 ... in-c-sharp

Вернуться в «C#»