22

を実装するオブジェクトのリストがありますToString()。リスト全体を1行で1つの文字列に変換する必要があります。どうやってやるの?

4

5 に答える 5

39

役立つ可能性のある別の方法はstring.Join()、オブジェクトのセットを取り、必要な区切り文字で結合します。例えば:

var combined = string.Join(", ", myObjects);

コンマ/スペースで区切られた文字列を作成します。

于 2013-01-02T17:33:30.887 に答える
26

オブジェクトがToStringを実装していると仮定すると、これでうまくいくと思います。

String.Concat( objects.Select(o=>o.ToString()) );

dtbのメモによると、これも機能するはずです。

String.Concat( objects );

http://msdn.microsoft.com/en-us/library/dd991828.aspxを参照してください

もちろん、ToStringを実装しない場合は、次のようなこともできます。

String.Concat( objects.Select(o=>o.FirstName + " " + o.LastName) );
于 2013-01-02T17:30:44.833 に答える
8

String.Joinを使用して、オブジェクト リストを連結できます。

string str = String.Join(",", objects);
于 2013-01-02T17:32:44.393 に答える
7

これらのどれも私にとってはうまくいきませんでした。ドキュメントが明示的に機能しないと言っているので、私は混乱しています(オブジェクトではなく文字列が必要です)。しかし、@ Adilの元の回答(以前のリビジョンを見て見つけた)を変更すると、正常に動作するバージョンが得られました:

string.Join( ",", objectList.Select(c=>c.ToString()).ToArray<string>())

編集: @Chris のコメントに従って - Unity のバージョンの .NET を使用しています。私はマイクロソフトのドキュメントを参照として使用したので、なぜこれが反対票を投じられたのかまだ混乱していますが、おそらく、この解決策が必要なのは Unity 固有の問題です。

于 2016-06-27T15:54:36.463 に答える