Jaki jest najlepszy sposób na wygenerowanie ciągu \tw C #
Uczę się języka C # i eksperymentuję z różnymi sposobami mówienia tego samego.
Tabs(uint t)Jest to funkcja, która zwraca stringz tilością \t„S
Na przykład Tabs(3)zwraca"\t\t\t"
Który z tych trzech sposobów wdrożenia Tabs(uint numTabs)jest najlepszy?
Oczywiście zależy to od tego, co oznacza „najlepszy”.
Wersja LINQ to tylko dwie linie, co jest miłe. Ale czy wezwania do powtarzania i agregowania niepotrzebnie pochłaniają czas / zasoby?
StringBuilderWersja jest bardzo jasne, ale toStringBuilderklasa jakoś wolniej?stringWersja podstawowa, co oznacza, że jest łatwe do zrozumienia.Czy to w ogóle nie ma znaczenia? Czy wszystkie są równe?
To są wszystkie pytania, które pomogą mi lepiej poznać 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;
}