Gibt es eine Grenze für Elemente, die in einer Liste gespeichert werden könnten? Oder Sie können einfach Elemente hinzufügen, bis Sie keinen Speicher mehr haben?
Die aktuelle Implementierung von List<T>
verwendet Int32
überall - um das Backing-Array für seine Count
-Eigenschaft als Indexer und für alle internen Operationen zu erstellen - also gibt es eine aktuelle theoretisch Maximum von Int32.MaxValue
-Elementen ( 2^31-1
oder 2147483647
).
Aber das .NET-Framework hat auch eine maximale Objektgröße von 2 GB, so dass Sie mit Listen von Einzelbyte-Elementen wie List<byte>
oder List<bool>
nur irgendwo in der Nähe des Elementlimits sind.
In der Praxis wird Ihnen wahrscheinlich kein zusammenhängender Speicher mehr zur Verfügung stehen, bevor Sie eine dieser Grenzen erreichen.
Tags und Links .net c# collections ilist