Frage

Wie der Titel schon sagt, wann sollte ich List verwenden und wann soll ich ArrayList verwenden?

Danke

War es hilfreich?

Lösung

Die Hauptzeit ArrayList zu verwenden, ist in .NET 1.1

Other than that, List<T> den ganzen Weg (für die lokale T) ...

Für die (seltenen) Fällen, in denen Sie nicht wissen, die Art Up-Front (und kann nicht verwendet werden Generika), auch List<object> ist hilfreicher als ArrayList (IMO).

Andere Tipps

Sie sollten immer verwenden List<TypeOfChoice> (eingeführt in .NET 2.0 mit Generika), da es typsicher ist und schneller als ArrayList (kein un-nötig Boxen / Unboxing).

Nur Fall, dass ich denken konnte, wo ein Arraylist nützlich sein könnte, ist, wenn Sie mit alten Sachen Schnittstelle benötigen (.NET 1.1) oder Sie müssen eine Reihe von Objekten unterschiedlicher Art und Sie alles als Objekt laden - aber man konnte tun diese mit List<Object> die in der Regel besser ist.

Da Liste eine generische Klasse ist, würde ich dazu neigen, immer Liste zu verwenden.

Arraylist ist eine .NET 1.x Klasse (noch verfügbar und gültig obwohl), aber es ist nicht ‚getippt‘ / generic, so dass Sie Elemente aus ‚Objekt‘ zu werfen brauchen, wieder auf die gewünschte Art; während bei der Verwendung von List, müssen Sie das nicht tun.

Use-Liste, wo immer es möglich ist. Ich kann keine Verwendung finden zu Arraylist, wenn hochleistungsfähige Liste vorhanden ist.

Arraylist ist eine ältere .NET-Datenstruktur. Wenn Sie .NET 2.0 oder höher immer verwenden Liste verwenden, wenn die Array-Elemente des gleichen Typs zu halten braucht. Nutzung von List über Arraylist verbessert sowohl die Leistung und Benutzerfreundlichkeit.

Wie andere schon gesagt. Sie sollten die Liste generisch, fast immer verwenden, wenn Sie den Typen (C # ist eine starke typisierte Sprache) kennen, und andere Möglichkeiten, wenn u tun polymorphe / inhertance Klassen oder andere Sachen.

Wenn Sie nicht Linq Abfragen verwenden möchten, dann brauchen Sie nicht Liste verwenden. Wenn Sie verwenden möchten, dann müssen Sie Liste bevorzugen.

Generics wurde in .Net 2.0.If eingeführt Sie verwenden frühere Versionen von .Net, dann können Sie die Array-Liste sonst verwenden wir mit dem Generic Liste selbst gehen kann. Array-Liste ist der, veraltet und wird nicht besser Typsicherheit bieten und auch schaffen Boxen und Unboxing problems.But generische Liste nicht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top