2009-04-07 14 views

答えて

84

.NET 1.1

それ以外

List<T>(ローカルのT用)すべての道...

(まれ)タイプがわからない(ジェネリックを使用できない)場合は、List<object>でもArrayList(IMO)より役立ちます。

+3

+1あなたは非常に速いです! :) –

+2

でもおかしいと思います - ArrayList eugh :) – annakata

+2

"ArrayList [spit]"はどうでしょう.-p –

5

Listは汎用クラスなので、常にListを使用する傾向があります。

ArrayListは.NET 1.xクラスです(ただし有効ですが、&は有効ですが) '型付き' /汎用ではないため、 'オブジェクト'のアイテムを目的のタイプにキャストする必要があります。リストを使用する場合は、これを行う必要はありません。

12

TypeSafeでArrayList(不要なボクシング/アンボックスなし)よりも速いので、常にList<TypeOfChoice>(ジェネリックで.NET 2.0で導入されました)を使用する必要があります。

ArrayListが便利なのは、古いもの(.NET 1.1)とのインターフェースが必要な場合、または異なるタイプのオブジェクトの配列が必要な場合、オブジェクトとしてすべてをロードする場合のみです。一般的にはList<Object>で後者を行うことができます。

+0

+1理由を説明するために*なぜ*リストを好む。 – Lernkurve

4

可能な限りリストを使用します。高性能なListが存在する場合、ArrayListには何も使用できません。

0

他のと同様です。ほとんどの場合、型(C#は厳密な型の言語)を知っていればリストジェネリックを使用するべきです。多型/継承クラスなどの場合は他の方法を使用してください。

3

ArrayListは古い.NETデータ構造です。 .NET 2.0以降を使用している場合は、配列で同じタイプの項目を保持する必要があるときは常にListを使用します。 ArrayListに対するListの使用は、パフォーマンスとユーザビリティの両方を向上させます。

0

Linqクエリを使用したくない場合は、Listを使用する必要はありません。あなたが使用したい場合は、リストを選ぶ必要があります。

0

Genericsは.Net 2.0で導入されました。以前のバージョンの.Netを使用している場合は、Generic List自体で使用できるArray Listを使用できます。配列リストは推奨されないものであり、より良い型の安全性を提供しませんし、ボクシングとunboxingの問題を作成します。しかし、一般的なリストはありません。