\t
C # 's bir dizi oluşturmak için en iyi yolu nedir
C # öğreniyorum ve aynı şeyi söylemenin farklı yollarını deniyorum.
Tabs(uint t)
bir fonksiyonu olduğu döner bir string
ile t
miktarı \t
's
Örneğin Tabs(3)
iadeler"\t\t\t"
Bu üç uygulama yolundan hangisi Tabs(uint numTabs)
en iyisidir?
Tabii ki bu "en iyi" nin ne anlama geldiğine bağlıdır.
LINQ sürümü sadece iki satır, bu güzel. Ancak Tekrarlama ve Toplama çağrıları gereksiz yere zaman / kaynak tüketiyor mu?
StringBuilder
Versiyon çok açıktır amaStringBuilder
sınıf nedense daha yavaş?string
Versiyon bunu anlamak kolaydır anlamına gelen temeldir.Hiç önemi yok mu? Hepsi eşit mi?
Bunlar C # için daha iyi bir fikir edinmeme yardımcı olacak sorular.
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;
}