¿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 stringcon tcantidad 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
StringBuilderversión es muy clara, pero ¿laStringBuilderclase es más lenta?La
stringversió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;
}