オブジェクトのリストに対するString.Join 質問する

オブジェクトのリストに対するString.Join 質問する

C# では、オーバーライドされたメソッドを持つカスタム クラスがありList<MyObj>、リスト内の各オブジェクトを簡単に文字列に変換できます。MyObjToString()MyObj

どうやって参加するこれをList<MyObj>区切り文字(たとえばパイプ (|))で 1 つの文字列にします。

したがって、ToString メソッドがそれぞれ AAA、BBB、CCC を生成する 3 つの MyObj オブジェクトがある場合、単一の文字列 AAA|BBB|CCC を作成します。

などのより単純なタイプのリストの場合、List<string>これを次のように実行しますString.Join("|", myList.ToArray());。これに似たようなことを実行する方法はありますか? または、Object List を反復処理し、StringBuilder を使用してリスト内の各オブジェクトの ToString を追加する必要がありますか?

ベストアンサー1

.NET 4 では、次のように使用できます。

var x = string.Join("|", myList);

ただし、.NET 3.5 にはオーバーロードがそれほど多くないためstring.Join、文字列変換を実行して明示的に配列に変換する必要があります。

var x = string.Join("|", myList.Select(x => x.ToString()).ToArray());

利用可能なオーバーロードを比較します。

おすすめ記事