separar por espacio ejemplos cadena blanco c# string list delimiter

por - C#List<string> a cadena con delimitador



split string c# string delimiter (3)

¿Existe una función en C # para convertir rápidamente alguna colección en cadena y valores separados con delimitador?

Por ejemplo:

List<string> names -> string names_together = "John, Anna, Monica"


Puedes usar String.Join . Si tiene una List<string> entonces puede llamar a ToArray primero:

List<string> names = new List<string>() { "John", "Anna", "Monica" }; var result = String.Join(", ", names.ToArray());

En .NET 4 ya no necesita el ToArray , ya que hay una sobrecarga de String.Join que toma una IEnumerable<string> .


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 tener un rendimiento más lento (probablemente más operaciones de concatenación de cadenas).


List<string> targets = new List<string>(); var InboxChecked = true; var BannerChecked = false; var EmailChecked = true; if (InboxChecked) { targets.Add("Inbox"); } if (BannerChecked) { targets.Add("Banner"); } if (EmailChecked) { targets.Add("Email"); } var index = 0; if (targets.Any()) { var aggregate = targets.Aggregate((s1, s2) => { return ++index == targets.Count - 1 ? s1 + " and " + s2 : s1 + ", " + s2; }); // aggregate.Dump(); } // returns -> Inbox and Email