Що це найкращий спосіб створити рядок \t
s у C #
Я вивчаю C # і експериментую з різними способами сказати одне і те ж.
Tabs(uint t)
це функція, яка повертає a string
з t
сумою \t
's
Наприклад, Tabs(3)
повертає"\t\t\t"
Який із цих трьох способів реалізації Tabs(uint numTabs)
найкращий?
Звичайно, це залежить від того, що означає "найкраще".
Версія LINQ - це лише два рядки, що приємно. Але чи заклики до повторення та агрегації зайві забирають час / ресурси?
StringBuilder
Версія дуже ясно , але цеStringBuilder
клас як - то повільніше?string
Версія є основною, що означає , що це легко зрозуміти.Це зовсім не має значення? Чи всі вони рівні?
Це все питання, які допоможуть мені краще відчути себе на C #.
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;
}