Réponses:
Vous pouvez utiliser String.Join. Si vous en avez un, List<string>vous pouvez d' ToArrayabord appeler :
List<string> names = new List<string>() { "John", "Anna", "Monica" };
var result = String.Join(", ", names.ToArray());
Dans .NET 4, vous n'en avez plus besoin ToArray, car il y a une surcharge String.Joinqui prend un IEnumerable<string>.
Résultats:
John, Anna, Monica
Vous pouvez également le faire avec linq si vous le souhaitez
var names = new List<string>() { "John", "Anna", "Monica" };
var joinedNames = names.Aggregate((a, b) => a + ", " + b);
Bien que je préfère la syntaxe non-linq dans la réponse de Quartermeister et je pense que cela Aggregatepourrait fonctionner plus lentement (probablement plus d'opérations de concaténation de chaînes).
Aggregatec'est mieux pour les opérations de type mathématique. Avec les chaînes, cette opération est similaire à for eaching et juste ajoutée à une chaîne qui est très lente et inefficace car vous créez une nouvelle chaîne pour chaque élément qui existe dans la liste.