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 ToArraybir aşırı yük olmadığından, artık String.Joino 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 Aggregatede, 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 .