var str = guids.Select(g => g.ToString())
.Aggregate((working, next) => working + "," + next);
Una volta che l'elenco di GUID inizia a crescere, questo metodo di concatenazione sta per causare problemi di prestazioni. È possibile modificare in modo da utilizzare uno StringBuilder:
var str = guids.Select(g => g.ToString())
.Aggregate(new StringBuilder(),
(sb, str) => sb.Append("," + str),
sb => sb.ToString());
Entrambi questi sono i complicati LINQ Metodo di estensione modo di fare le cose. Si potrebbe anche usare semplicemente String.Join:
var str = String.Join(",", guids.Select(g => g.ToString()).ToArray());
fonte
2010-07-26 15:13:58
Wow, perfetto! Grazie! – BrunoLM
@Bruno, contrassegnalo come la risposta accettata se è quello che ha funzionato per te !! :-) – DaveDev
Sarei curioso di sapere quanto velocemente funzioni rispetto ad altri metodi. Immagino che Aggregate non usi String.Concat per allocare correttamente la memoria. –