Ce que c'est le meilleur moyen pour générer une chaîne de \t
's en C#
Je suis en train d'apprendre le C# et d'expérimenter avec différentes façons de dire la même chose.
Tabs(uint t)
est une fonction qui retourne un string
avec t
montant \t
s'
Par exemple Tabs(3)
retours "\t\t\t"
Laquelle de ces trois modalités de mise en oeuvre Tabs(uint numTabs)
est le meilleur?
Bien sûr, cela dépend de ce que le "meilleur" signifie.
Le LINQ version est à seulement deux lignes, ce qui est agréable. Mais les appels à Répétition et d'Agrégation inutilement du temps/consommer beaucoup de ressources?
L'
StringBuilder
version est très clair, mais est l'StringBuilder
de la classe d'une certaine manière plus lente?L'
string
version de base, ce qui signifie qu'il est facile à comprendre.N'est-ce pas? Sont-ils tous égaux?
Ce sont toutes les questions pour m'aider à obtenir une meilleure idée 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;
}