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