¿Cuál es la mejor manera de generar una cadena de \t
's en C #?
Estoy aprendiendo C # y experimentando con diferentes formas de decir lo mismo.
Tabs(uint t)
es una función que devuelve una string
con t
cantidad de \t
's
Por ejemplo Tabs(3)
devuelve"\t\t\t"
¿Cuál de estas tres formas de implementación Tabs(uint numTabs)
es la mejor?
Por supuesto, eso depende de lo que significa "mejor".
La versión LINQ tiene solo dos líneas, lo cual es bueno. Pero, ¿las llamadas a repetir y agregar consumen innecesariamente tiempo / recursos?
La
StringBuilder
versión es muy clara, pero ¿laStringBuilder
clase es más lenta?La
string
versión es básica, lo que significa que es fácil de entender.¿No importa en absoluto? ¿Son todos iguales?
Todas estas son preguntas para ayudarme a tener una mejor idea de 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;
}