2011-09-29 37 views
13

Birden çok kez bir karakter kümesini tekrarlamak istiyorum.Karakter kümesini tekrarlama

string line = new string('x', 10); 

Ama ne İsterdim daha böyle bir şey olurdu: neden olacaktır

string line = new string("-.", 10); 

: Tek bir karakterle bunu nasıl biliyorum. -.-.-- .-.-.-.-.-.-.

Dize yapıcısı bunu yapamaz biliyorum, ancak BCL içinde başka bir yolu var mı? Diğer öneriler

Teşekkürler!

+0

tarafından yanıta hafif varyasyon [I (C#) bir dize “çarpma” Can?] Olası yinelenen (http://stackoverflow.com/ q/532892/588306) – Deanna

+0

Olası çoğaltılabilir [Tekrarlanan X sayısı tekrarlanan bir dize döndürmenin kolay bir yolu var mı?] (http://stackoverflow.com/questions/3754582/is-there-an-easy-way- -de-return-a-string-tekrar-x-sayısı-kez) –

cevap

20

Bala R

var s = String.Concat(Enumerable.Repeat("-.", 10)); 
+0

Bu, peşindeyim için en temiz çözümdür. Teşekkürler! –

19
var result = String.Join("", Enumerable.Repeat("-.", 10)); 
+0

Enumerable sınıfını hiç görmedim. Awesome +1 –

+0

@RyanBennett, hiç LINQ kullanmadığın anlamına mı geliyor? :) –

+0

Böyle değil - üç sene boyunca nasıl gidebildiğimi ve bütün bir sınıfı gözden kaçırdığımı bilmiyorum ... –

9
string line = new String('x', 10).Replace("x", "-."); 
+0

Enumerable sınıfına (WinWrapBasic'te olduğu gibi) erişemiyorsanız hoş bir yol –

İlgili konular