miércoles, 3 de febrero de 2010

Concatenar lista de elementos como un string

join Vamos a poner un caso: si tengo una lista de elementos, digamos:

Dim MiLista As New List(Of String)
For elemento As Integer = 1 To 20
MiLista.Add(elemento)
Next elemento

Ahora, lo que quiero es concatenarlos, a fin de que vean de la sgte manera:

“1,2,3,4,5,6,7,8,9,…” etc

cómo lo hago? algunos dirán:

“Simple pes… creo un stringbuilder y luego hago un bucle For y voy concatenando los valores en el stringbuilder… y al final borro la última coma”, así:

Dim sb As New StringBuilder
For Each elemento In MiLista
sb.AppendFormat("{0},", elemento)
Next
If
sb.ToString.EndsWith(",") Then sb.Remove(sb.Length - 1, 1)

Claro, eso funciona… pero no hagas eso.

Esta es la forma de hacerlo:

Dim MiListaConcatenada As String = String.Join(",", MiLista.ToArray)

Aprovechamos el método ToArray, lo cual convierte a la lista en un array… y luego usando String.Join ya es fácil concatenar los valores.

;)

No hay comentarios.: