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 stringcon tquantità di \ts'
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
StringBuilderversione è molto chiara ma laStringBuilderclasse è in qualche modo più lenta?La
stringversione è 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;
}