1. ホーム
  2. c#

[解決済み] C#のArrayListとList<>の比較

2022-03-22 20:56:30

質問

とはどのような違いがあるのでしょうか? ArrayListList<> をC#で使うのですか?

だけなのでしょうか? List<> が型を持っているのに対して ArrayList はないのですか?

解決方法は?

はい、ほとんどそうです。 List<T> は汎用クラスです。との間でキャストすることなく、特定の型の値を保存することをサポートします。 object (の場合、ボックス化/アンボックス化のオーバーヘッドが発生します。 T は値型として ArrayList の場合)。 ArrayList を単に格納するだけです。 object の参照を使用します。一般的なコレクションとして List<T> を実装しています。 IEnumerable<T> インターフェースで、LINQで簡単に使用することができます。 Cast または OfType の呼び出し)。

ArrayList は、C#にジェネリックがなかった時代のものです。これは非推奨で、代わりに List<T> . を使うべきではありません。 ArrayList を使用する古いAPIとのインタフェースが必要な場合を除き、.NET >= 2.0をターゲットとする新しいコードで使用することができます。