Yanıtlar:
Kullanabilirsiniz String.Join
. Eğer bir List<string>
hesabınız varsa ToArray
önce arayabilirsiniz :
List<string> names = new List<string>() { "John", "Anna", "Monica" };
var result = String.Join(", ", names.ToArray());
.NET 4'te İhtiyacınız olmayan ToArray
bir aşırı yük olmadığından, artık String.Join
o bir sürer IEnumerable<string>
.
Sonuçlar:
John, Anna, Monica
İsterseniz bunu linq ile de yapabilirsiniz
var names = new List<string>() { "John", "Anna", "Monica" };
var joinedNames = names.Aggregate((a, b) => a + ", " + b);
Her ne kadar Quartermeister'ın cevabında linq olmayan sözdizimini tercih etsem Aggregate
de, daha yavaş (muhtemelen daha fazla dize birleştirme işlemleri) gerçekleştirebileceğini düşünüyorum .
Aggregate
, matematik tipi işlemler için daha iyi olduğunu düşünüyorum . Dizelerle bu işlem for each
, listede var olan her öğe için yeni bir dize oluşturduğunuz için verimsiz çok yavaş bir dizeye ing ve eklemeye benzer .