1. ホーム
  2. c#

[解決済み] List<string>` をカンマ区切りの文字列に変換する。

2023-08-14 14:30:22

質問

を高速に変換する方法はありますか? List<string> をカンマで区切られた string をC#で使うのですか?

私はこのようにそれを行うが、多分より速く、より効率的な方法がありますか?

List<string> ls = new List<string>();
ls.Add("one");
ls.Add("two");
string type = string.Join(",", ls.ToArray());

追記:このサイトで検索してみましたが、JavaやPythonのソリューションが多いようです。

どのように解決するのですか?

.NET 4 では、.NET 4 で使用されていた ToArray() を呼び出す必要があります。 string.Join はオーバーロードされる を受け入れるために IEnumerable<T> または単に IEnumerable<string> .

.NET 4以前にはもっと効率的な方法がある可能性がありますが、本当に必要なのでしょうか?これは実際にあなたのコードのボトルネックになっていますか?

あなたは を繰り返し、最終的なサイズを計算し、そのサイズに合うように StringBuilder を割り当て、それから自分で結合を行います。そうすれば、あまり意味のない余分な配列が構築されることはありません。 ロット より多くのコードになります。