私はList<string> strings
使用を組み合わせようとしてstring.Join(",", strings)
いますが、私が読んでいるものはすべて私がすべきだと言っています:
string.Join(",", strings.ToArray())
私が使用しなければならない/使用すべき特定の理由はあります.ToArray()
か?
私はList<string> strings
使用を組み合わせようとしてstring.Join(",", strings)
いますが、私が読んでいるものはすべて私がすべきだと言っています:
string.Join(",", strings.ToArray())
私が使用しなければならない/使用すべき特定の理由はあります.ToArray()
か?
string.Join
.NET 4 の時点で受け入れを開始しただけですIEnumerable<string>
(実際には一般的なオーバーロード)。おそらく、.NET 3.5 以前を念頭に置いて記述されたコード (または命令) を見ています。オーバーロードを比較します。
おそらく、あなたが読んでいるものはすべて、フレームワークの以前のバージョン用に書かれているからでしょう。このstring.Join(string, IEnumerable<string>)
メソッドはバージョン 4 で追加されました。
.ToArray() を使用する必要がある/使用する必要がある特定の理由はありますか?
その必要はありません。代わりに、を呼び出す必要のない現在のオーバーロードの前に存在していた古いコードを見ている可能性がありますToArray
。受け入れる新しいオーバーロードは、IEnumerable<string>
.NET 4.0 まで登場しませんでした。
.Net v4 以降では .ToArray() を使用する必要はありません。v4 では IEnumerable が大きな役割を果たし、多くの拡張機能が追加されました。
したがって、v3.5 以下でコンパイルする必要がある場合は、.ToArray() を使用する必要がありますが、4.0 以降ではコードは正しいです。