Risposte:
È possibile utilizzare String.Join. Se ne hai uno List<string>, puoi chiamare ToArrayprima:
List<string> names = new List<string>() { "John", "Anna", "Monica" };
var result = String.Join(", ", names.ToArray());
In .NET 4 non è più necessario ToArray, poiché esiste un sovraccarico String.Joinche richiede un IEnumerable<string>.
risultati:
John, Anna, Monica
Puoi anche farlo con linq, se lo desideri
var names = new List<string>() { "John", "Anna", "Monica" };
var joinedNames = names.Aggregate((a, b) => a + ", " + b);
Anche se preferisco la sintassi non-linq nella risposta di Quartermeister e penso che Aggregatepotrebbe eseguire più lentamente (probabilmente più operazioni di concatenazione di stringhe).
Aggregatesia meglio per le operazioni di tipo matematico. Con le stringhe questa operazione è simile for eachall'ing e all'aggiunta di una stringa molto lenta e inefficiente perché si sta creando una nuova stringa per ogni elemento presente nell'elenco.