Respostas:
Você pode usar String.Join
. Se você tiver um List<string>
, pode ligar ToArray
primeiro:
List<string> names = new List<string>() { "John", "Anna", "Monica" };
var result = String.Join(", ", names.ToArray());
No .NET 4, você não precisa ToArray
mais, pois há uma sobrecarga String.Join
disso IEnumerable<string>
.
Resultados:
John, Anna, Monica
Você também pode fazer isso com o linq, se desejar
var names = new List<string>() { "John", "Anna", "Monica" };
var joinedNames = names.Aggregate((a, b) => a + ", " + b);
Embora eu prefira a sintaxe não-linq na resposta do Quartermeister e acho que Aggregate
pode executar mais devagar (provavelmente mais operações de concatenação de cadeias).
Aggregate
é melhor para operações do tipo Math. Com strings, esta operação é semelhante a for each
ing e apenas é anexada a uma string que é muito lenta em ineficiente, porque você está criando uma nova string para cada item que existe na lista.