C# のArrayList
との違いは何ですか?List<>
List<>
タイプがあるのにタイプArrayList
がないのは、それだけですか?
ベストアンサー1
はい、ほぼそうです。List<T>
はジェネリック クラスです。キャストせずに特定の型の値を格納できます(この場合、が値型であるobject
場合は、ボックス化/アンボックス化のオーバーヘッドが発生します)。単に参照を格納します。ジェネリック コレクションとして、ジェネリック インターフェイスを実装し、LINQ で簡単に使用できます (または呼び出しは必要ありません)。T
ArrayList
ArrayList
object
List<T>
IEnumerable<T>
Cast
OfType
ArrayList
は、C# にジェネリックがなかった時代のものです。 に代わる非推奨の ですList<T>
。 を使用する古い API とインターフェイスする必要がある場合を除き、.NET >= 2.0 を対象とする新しいコードでは を使用しないでくださいArrayList
。