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 string
avec t
quantité 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
StringBuilder
version est très claire mais laStringBuilder
classe est-elle en quelque sorte plus lente?La
string
version 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;
}