Odpowiedzi:
Możesz użyć String.Join. Jeśli masz List<string>, możesz ToArraynajpierw zadzwonić :
List<string> names = new List<string>() { "John", "Anna", "Monica" };
var result = String.Join(", ", names.ToArray());
W .NET 4 nie potrzebne ToArrayjuż, ponieważ nie jest przeciążenie String.Join, która pobiera IEnumerable<string>.
Wyniki:
John, Anna, Monica
Możesz to również zrobić za pomocą linq, jeśli chcesz
var names = new List<string>() { "John", "Anna", "Monica" };
var joinedNames = names.Aggregate((a, b) => a + ", " + b);
Chociaż wolę składnię inną niż linq w odpowiedzi Quartermeistera i myślę, że Aggregatemoże działać wolniej (prawdopodobnie więcej operacji łączenia łańcuchów).
Aggregatelepiej jest do operacji typu Math. W przypadku łańcuchów ta operacja jest podobna do for eachdodawania i dodawania do ciągu, który jest bardzo powolny i nieefektywny, ponieważ tworzysz nowy ciąg dla każdego elementu, który istnieje na liście.