2009-08-20 18 views

cevap

70

Basit bir ...

string[] theArray = new string[]{"Apples", "Bananas", "Cherries"}; 
string s = string.Join(",",theArray); 
+5

Hey, bunu gerçekten biliyordum. Bugün ofiste çok sıcak ve kahve içmedim! Teşekkürler. –

+1

Her ne kadar biraz tuhaf geliyor. Dizideki bir eylemden ziyade bir dizi üzerinde bir eylem olduğunu düşünür, bu yüzden dizi sınıfında böyle bir işlevi aramam için daha "doğal" olur. Ama teşekkürler, bir dizeye katılmanın böyle bir yolu olduğunu bilmiyordum. +1 – Gertjan

+1

Ancak, yalnızca "string []" için başkalarına uygulanmaz - bu nedenle "düzenli" dizi uygulamasına uygun değildir. Ancak, bu dizgeye [C] * C * 3.0 * uzantı yöntemi * olarak ekleyebilirsiniz. –

10

Elbette ki açık seçik String.Join yöntemidir.

İşte LINQy alternatiftir:

string.Concat(fruit.Select((s, i) => (i == 0 ? "" : ",") + s).ToArray()) 

(o katıl yöntemi olarak, ama belki yöntem gidemez nereye alternatif ayırıcılar gibi, genişleyen için aynı yaptığı gibi bu haliyle gerçekten yararlı değil .. .)

0

Aggregate kullanabilirsiniz, bir sıra üzerinde bir akümülatör işlevi uygular.

string[] test = new string[]{"Apples", "Bananas", "Cherries"}; 
char delemeter = ','; 
string joinedString = test.Aggregate((prev, current) => prev + delemeter + current); 
İlgili konular