Qual é a melhor maneira de gerar uma sequência de \t's em c #
Estou aprendendo c # e experimentando maneiras diferentes de dizer a mesma coisa.
Tabs(uint t)é uma função que retorna a stringcom tquantidade de \t's
Por exemplo, Tabs(3)retorna"\t\t\t"
Qual dessas três maneiras de implementar Tabs(uint numTabs)é a melhor?
Claro que isso depende do que "melhor" significa.
A versão do LINQ é de apenas duas linhas, o que é legal. Mas as chamadas para Repetir e Agregar desnecessariamente consomem tempo / recursos?
A
StringBuilderversão é muito clara, mas aStringBuilderclasse é de alguma forma mais lenta?A
stringversão é básica, o que significa que é fácil de entender.Isso não importa? Eles são todos iguais?
Essas são perguntas para me ajudar a ter uma idéia melhor do 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;
}