var str = guids.Select(g => g.ToString())
.Aggregate((working, next) => working + "," + next);
Une fois votre liste de Guids commence à se développer, cette méthode de concaténation va causer des problèmes de performance. Vous pouvez le modifier pour utiliser un StringBuilder:
var str = guids.Select(g => g.ToString())
.Aggregate(new StringBuilder(),
(sb, str) => sb.Append("," + str),
sb => sb.ToString());
Les deux sont la voie de la méthode compliquée LINQ Extension de faire les choses. Vous pouvez également utiliser simplement String.Join:
var str = String.Join(",", guids.Select(g => g.ToString()).ToArray());
Wow, parfait! Merci! – BrunoLM
@Bruno, marquez-le comme la réponse acceptée si c'est ce qui a fonctionné pour vous !! :-) – DaveDev
Je serais curieux de savoir à quelle vitesse cela fonctionne par rapport à d'autres méthodes. Je suppose que Aggregate n'utilise pas String.Concat pour allouer de la mémoire correctement. –