47

タイトルが示すように、いつ使用するList必要があり、いつ使用する必要がありますArrayListか?

ありがとう

4

8 に答える 8

89

主な使用時間ArrayListは.NET 1.1

それ以外は、List<T>ずっと(あなたの地元のためにT)...

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

于 2009-04-07T12:32:51.357 に答える
14

List<TypeOfChoice>TypeSafe であり、ArrayList(不要なボックス化/ボックス化解除がない) よりも高速であるため、(ジェネリックと共に .NET 2.0 で導入された)を常に使用する必要があります。

ArrayList が便利だと思う唯一のケースは、古いもの (.NET 1.1) とやり取りする必要がある場合、または異なるタイプのオブジェクトの配列が必要で、すべてをオブジェクトとしてロードする場合ですが、後者を行うこともできます。List<Object>どちらが一般的に優れています。

于 2009-04-07T12:35:50.803 に答える
5

List はジェネリック クラスであるため、常に List を使用する傾向があります。

ArrayList は .NET 1.x クラス (まだ利用可能で有効) ですが、「型指定」/ジェネリックではないため、項目を「オブジェクト」から目的の型にキャストする必要があります。一方、List を使用する場合は、その必要はありません。

于 2009-04-07T12:33:48.937 に答える
4

可能な限り List を使用してください。パフォーマンスの高い List が存在する場合、ArrayList の使用は見られません。

于 2009-04-07T12:36:17.540 に答える
3

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

于 2009-04-07T12:40:35.080 に答える
0

他の人が言ったように。ほとんどの場合、型がわかっている場合 (C# は厳密に型指定された言語です)、List ジェネリックを使用する必要があります。また、ポリモーフィック/継承クラスまたはそのようなものを行う場合は、他の方法で使用する必要があります。

于 2009-04-07T12:40:21.260 に答える
0

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

于 2011-12-12T07:30:38.443 に答える