Existe-t-il une fonction en C # permettant de convertir rapidement une collection en chaîne et en séparant les valeurs avec un délimiteur?
Par exemple:
List<string> names
-> string names_together = "John, Anna, Monica"
Vous pouvez utiliser String.Join
. Si vous avez un _List<string>
_, vous pouvez appeler ToArray
d’abord:
_List<string> names = new List<string>() { "John", "Anna", "Monica" };
var result = String.Join(", ", names.ToArray());
_
Dans .NET 4, vous n'avez plus besoin de ToArray
, car il existe une surcharge de _String.Join
_ qui prend un _IEnumerable<string>
_.
Vous pouvez également le faire avec linq si vous le souhaitez.
var names = new List<string>() { "John", "Anna", "Monica" };
var joinedNames = names.Aggregate((a, b) => a + ", " + b);
Bien que je préfère la syntaxe non-linq dans la réponse de Quartermeister, je pense que Aggregate
pourrait fonctionner plus lentement (probablement davantage d'opérations de concaténation de chaînes).