Quelle est la meilleure façon de générer une chaîne de \t'en C #
J'apprends le C # et j'expérimente différentes façons de dire la même chose.
Tabs(uint t)est une fonction qui renvoie une stringavec tquantité de \t« s
Par exemple, Tabs(3)retourne"\t\t\t"
Laquelle de ces trois façons de mettre en œuvre Tabs(uint numTabs)est la meilleure?
Bien sûr, cela dépend de ce que signifie le "meilleur".
La version LINQ n'est que de deux lignes, ce qui est bien. Mais les appels à Répéter et à Agréger prennent-ils inutilement du temps / des ressources?
La
StringBuilderversion est très claire mais laStringBuilderclasse est-elle en quelque sorte plus lente?La
stringversion est basique, ce qui signifie qu'elle est facile à comprendre.Cela n'a-t-il aucune importance? Sont-ils tous égaux?
Ce sont toutes des questions pour m'aider à mieux comprendre 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;
}