String.Join sur une liste d'objets
En C#, si j'ai un List<MyObj>
où MyObj
est une classe personnalisée avec un substituée ToString()
méthode telle que chaque MyObj
objet dans la Liste peut être facilement converti en une chaîne de caractères.
Comment puis-je rejoindre ce List<MyObj>
avec un séparateur, tel que par exemple un pipe (|) dans une seule chaîne.
Donc, si j'ai eu 3 MyObj objets dont les méthodes ToString serait de produire des AAA, BBB, CCC, respectivement. Je voudrais créer une chaîne unique: AAA|BBB|CCC.
Pour une liste d'un simple type, comme List<string>
je réaliser cela simplement comme: String.Join("|",myList.ToArray());
. Est-il possible que je peux faire quelque chose de semblable? Ou suis-je forcé de parcourir la Liste des Objets et utiliser un Générateur de Chaîne à ajouter de chaque objet ToString dans la liste?
source d'informationauteur user17753
Vous devez vous connecter pour publier un commentaire.
.NET 4, vous avez juste à utiliser:
.NET 3.5 n'a pas autant de surcharges pour
string.Join
- vous besoin pour effectuer la conversion de chaîne de caractères et le transformer en un tableau explicitement:Comparer les surcharges disponibles: