2008-11-08 5 views

Antwort

15

Ja, absolut eine DataTable verbraucht mehr Speicher als eine Liste.

Die DataTable-Klasse enthält viele Objekte für Spaltendefinitionen, die Tabelleninformationen (Name usw.), Auflistungen von Zeilenobjekten, die "Elementarrays" für jede Zeile (was im Grunde die gesamte Liste hätte) usw.

BEARBEITEN: Auch List ist performanter zum Hinzufügen von Elementen, Iteration durch usw. (reflektieren Sie den Code für "Add" für generische Listen, und für Datentabellen, um mehr Details zu sehen).

10

Oh ja, es ist fett. Es kann viel effizienter sein als die Liste <> obwohl. Es erstellt einen Index, so dass Suchvorgänge O (1) sein können. Zeilen werden in einem rot-schwarzen Baum gespeichert, so dass Einfügungen und Löschungen O (log n) sein können. Alle diese Operationen sind O (n) für die Liste <>. Um diese Art von Perf zu erhalten, müssen Sie Ihre Spalten und Abfragen jedoch mit Bedacht auswählen. Gleiche Überlegungen wie eine normale Datenbanktabelle.