Что это лучший способ создать строку \t
в С#
Я изучаю С# и экспериментирую с разными способами говорить то же самое.
Tabs(uint t)
- это функция, которая возвращает string
с t
количеством \t
's
Например Tabs(3)
возвращает "\t\t\t"
Какой из этих трех способов реализации Tabs(uint numTabs)
лучше?
Конечно, это зависит от того, что означает "лучший".
-
Версия LINQ имеет только две строки, что приятно. Но есть ли призывы к повторению и объединению излишнего времени/ресурса?
-
Версия
StringBuilder
очень понятна, но классStringBuilder
как-то медленнее? -
Версия
string
является базовой, что означает, что ее легко понять. -
Разве это не имеет значения? Все ли они равны?
Это все вопросы, которые помогут мне лучше понять С#.
private string Tabs(uint numTabs)
{
IEnumerable<string> 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;
}