もしEnumerable(IEnumerable<T>
)をリストに変換したいのであれば。リストにIEnumerableを変換する
より効率的にどのようなものです:
myEnumerable.ToList()
または
new List<T>(myEnumerable)
ありがとう!
もしEnumerable(IEnumerable<T>
)をリストに変換したいのであれば。リストにIEnumerableを変換する
より効率的にどのようなものです:
myEnumerable.ToList()
またはnew List<T>(myEnumerable)
ありがとう!
最初のものは2番目のものを呼び出すので、それらはすべて同じ目的と目的になります。
JITterは、ToList()
メソッドをインライン化して、それらをヌルチェックのモジュロと同じにします。また、List<T>
コンストラクターが呼び出すので、NULLチェックも実行するため、おそらくEnumerable<T>.ToList()
のヌルチェックは冗長です。
同じですか。 (最初は読みやすくなります)
実行には同じ時間がかかりますが、new List<T>(myEnumerable)
は少し速いです。
myEnumerable.ToList()
はフードの下では行いますが、最初にコレクションがnullかどうかをチェックし、コレクションがnullの場合は例外をスローします。 myEnumerableがnullでないことがわかっている場合は、ToList()を使用できます。
私の意見では、読みやすいコードを書いてください。これは、あまりにも多くの時間を費やすべきではないマイクロ最適化です。
私はrefletorを使用するには怠惰ですが、おそらく 'myEnumerable.ToList()'は 'new List(myEnumerable)'を呼び出します。 –
Nahum