265 votes

Convertir une liste en chaîne en C #

Comment convertir une liste en chaîne en C #?

Lorsque j'exécute toString sur un objet List, je reçois:

System.Collections.Generic.List`1 [System.String]

514voto

Øyvind Bråthen Points 25211

Peut-être que vous essayez de faire

 string combindedString = string.Join( ",", myList );
 

Vous pouvez remplacer "," par ce que vous voulez fractionner les éléments de la liste.

60voto

ChaosPandion Points 37025

Je vais y aller avec mon instinct et supposer que vous voulez concaténer le résultat de l'appel ToString sur chaque élément de la liste.

 var result = string.Join(",", list.ToArray());
 

23voto

eandersson Points 8571

Vous pouvez utiliser string.Join :

 List<string> list = new List<string>()
                                    {
                                        "Red",
                                        "Blue",
                                        "Green"
                                    };

string output = string.Join(Environment.NewLine, list.ToArray());

Console.Write(output);
 

Le résultat serait:

 Red

Blue

Green
 

Au lieu de Environment.NewLine, vous pouvez le remplacer par un séparateur de ligne basé sur des chaînes de votre choix.

14voto

Markus Johnsson Points 2157

String.Join(" ", myList) ou String.Join(" ", myList.ToArray()) . Le premier argument est le séparateur entre les sous-chaînes.

 var myList = new List<String> { "foo","bar","baz"};
Console.WriteLine(String.Join("-", myList)); // prints "foo-bar-baz"
 

Selon votre version de .NET, vous devrez peut-être utiliser d'abord ToArray () dans la liste.

13voto

James Gaunt Points 9541

Si vous voulez quelque chose de légèrement plus complexe qu'une simple jointure, vous pouvez utiliser LINQ, par exemple

 var result = myList.Aggregate((total, part) => total + "(" + part.ToLower() + ")");
 

Prendra ["A", "B", "C"] et produira "(a) (b) (c)"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X