Risposte:
È possibile utilizzare String.Join
. Se ne hai uno List<string>
, puoi chiamare ToArray
prima:
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.Join
che 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 Aggregate
potrebbe eseguire più lentamente (probabilmente più operazioni di concatenazione di stringhe).
Aggregate
sia meglio per le operazioni di tipo matematico. Con le stringhe questa operazione è simile for each
all'ing e all'aggiunta di una stringa molto lenta e inefficiente perché si sta creando una nuova stringa per ogni elemento presente nell'elenco.