var str = guids.Select(g => g.ToString())
.Aggregate((working, next) => working + "," + next);
Gdy lista GUID zaczyna rosnąć, ta metoda konkatenacji będzie powodować problemy z wydajnością. Można modyfikować go użyć StringBuilder:
var str = guids.Select(g => g.ToString())
.Aggregate(new StringBuilder(),
(sb, str) => sb.Append("," + str),
sb => sb.ToString());
Oba te są skomplikowane LINQ Extension metoda sposób robienia rzeczy. Można też po prostu użyć string.join:
var str = String.Join(",", guids.Select(g => g.ToString()).ToArray());
Wow, idealnie! Dzięki! – BrunoLM
@Bruno, oznacz go jako zaakceptowaną odpowiedź, jeśli to działa dla Ciebie! :-) – DaveDev
Byłbym ciekawy, jak szybko działa w porównaniu do innych metod. Zgaduję, że Aggregate nie używa String.Concat do prawidłowego przydziału pamięci. –