4 Ocak 2009, Pazar
En iyi C karakteri tekrarlamak *
En iyi yolu \t
Bir karakter dizisi oluşturmak için ne's C#
C öğreniyorum# ve aynı şeyi söylemenin farklı yolları denemektedir.
Tabs(uint t)
string
\t
t
miktar's . ile döndüren bir işlevdir
Örneğin Tabs(3)
"\t\t\t"
döndürür
Tabs(uint numTabs)
uygulama bu üç yol en iyisidir?
"" Anlamına gelir. en iyi ne olduğuna bağlı tabii
SERİ versiyonu güzel olan sadece iki satır. Ama bu aramaları Tekrarlamak ve gereksiz yere Toplama zamanı/kaynak tüketen?
StringBuilder
sürümü çok açıktır amaStringBuilder
sınıfı bir şekilde yavaş mı?string
sürümü kolay anlaşılır olduğu anlamına gelir, temel,.Hiç umurunda değil mi? Tüm bunlar?
Bu bana C için daha iyi bir fikir almak için 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;
}
CEVAP
4 Ocak 2009, Pazar
Bu ne hakkında:
string tabs = new String('\t', n);
Ya da daha iyisi:
static string Tabs(int n)
{
return new String('\t', n);
}
Bunu Paylaş:
Sil Javascript bir dizenin ilk karakte...
Nasıl bash joker/yıldız karakteri kaçı...
Ekle vim başı karakteri...
C dizesi son 4 karakteri nasıl gideril...
Git branch adı eğik çizgi karakteri ku...