タイトルにあるように、いつList
を使用すべきか、いつArrayList
を使用すべきか?
ありがとう
ArrayList
を使用する主な時期は.NET 1.1です
それ以外、 List<T>
ずっと(ローカルT
の場合)...
型が事前にわからない(そしてジェネリックを使用できない)(まれな)場合は、List<object>
はArrayList
(IMO)よりも役立ちます。
常にList<TypeOfChoice>
(.NET 2.0とジェネリックで導入)はTypeSafeであり、ArrayList
より高速であるため(不要なボックス化/ボックス化解除なし)。
古いもの(.NET 1.1)とやり取りする必要がある場合、または異なるタイプのオブジェクトの配列が必要で、すべてをオブジェクトとしてロードする場合にのみ、ArrayListが便利であると考えることができますが、後者を実行できます。 List<Object>
これは一般的に優れています。
Listはジェネリッククラスであるため、常にListを使用する傾向があります。
ArrayListは.NET 1.xクラス(まだ利用可能で有効です)ですが、「型付き」/汎用ではないため、「オブジェクト」から目的の型にアイテムをキャストする必要があります。一方、Listを使用する場合は、その必要はありません。
可能な限りリストを使用してください。パフォーマンスの高いリストが存在する場合、ArrayListの用途がわかりません。
ArrayListは古い.NETデータ構造です。 .NET 2.0以降を使用している場合、配列が同じタイプのアイテムを保持する必要がある場合は、常にListを使用してください。 ArrayListではなくListを使用すると、パフォーマンスと使いやすさが向上します。
ジェネリックは.Net 2.0で導入されました。以前のバージョンの.Netを使用している場合は、配列リストを使用できます。それ以外の場合は、ジェネリックリスト自体を使用できます。配列リストは非推奨であり、型の安全性が向上せず、ボックス化とボックス化解除の問題も発生しますが、一般的なリストはそうではありません。
Linqクエリを使用したくない場合は、リストを使用する必要はありません。使用したい場合は、リストを優先する必要があります。
他の人が言ったように。ジェネリックリストを使用する必要があります。ほとんどの場合、型(C#は厳密に型指定された言語です)がわかっている場合、およびその他の方法で、ポリモーフィック/継承クラスなどを使用する必要があります。