Respuestas:
Puedes usar String.Join
. Si tiene un List<string>
teléfono, puede llamar ToArray
primero:
List<string> names = new List<string>() { "John", "Anna", "Monica" };
var result = String.Join(", ", names.ToArray());
En .NET 4 ya no necesita ToArray
más, ya que hay una sobrecarga de String.Join
eso toma un IEnumerable<string>
.
Resultados:
John, Anna, Monica
También puedes hacer esto con linq si quieres
var names = new List<string>() { "John", "Anna", "Monica" };
var joinedNames = names.Aggregate((a, b) => a + ", " + b);
Aunque prefiero la sintaxis no linq en la respuesta de Quartermeister y creo que Aggregate
podría funcionar más lentamente (probablemente más operaciones de concatenación de cadenas).
Aggregate
es mejor para las operaciones de tipo matemático. Con las cadenas, esta operación es similar a for each
ing y solo se agrega a una cadena que es muy lenta e ineficiente porque está creando una nueva cadena para cada elemento que existe en la lista.