String.Join sur une liste d'objets

En C#, si j'ai un List<MyObj>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