Qual è il modo migliore per generare una stringa di \t
's in C #
Sto imparando C # e sto sperimentando modi diversi di dire la stessa cosa.
Tabs(uint t)
è una funzione che restituisce una string
con t
quantità di \t
s'
Ad esempio, Tabs(3)
ritorna"\t\t\t"
Quale di questi tre modi di attuazione Tabs(uint numTabs)
è il migliore?
Naturalmente ciò dipende dal significato di "migliore".
La versione LINQ ha solo due righe, il che è carino. Ma le chiamate per ripetere e aggregare inutilmente richiedono tempo / risorse?
La
StringBuilder
versione è molto chiara ma laStringBuilder
classe è in qualche modo più lenta?La
string
versione è di base, il che significa che è facile da capire.Non importa affatto? Sono tutti uguali?
Queste sono tutte domande per aiutarmi a capire meglio 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;
}