Jaki jest najlepszy sposób na wygenerowanie ciągu \t
w 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 string
z t
iloś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?
StringBuilder
Wersja jest bardzo jasne, ale toStringBuilder
klasa jakoś wolniej?string
Wersja 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;
}