c# - cref - ¿Hay un límite de elementos que podrían almacenarse en una lista?
remarks c# (1)
La implementación actual de List<T>
usa Int32
todas partes : para construir su matriz de respaldo, para su propiedad Count
, como un indexador y para todas sus operaciones internas, por lo que hay un máximo teórico actual de elementos Int32.MaxValue
( 2^31-1
o 2147483647
).
Pero el .NET Framework también tiene un límite máximo de tamaño de objeto de 2 GB, por lo que solo se acercará al límite de elementos con listas de elementos de un solo byte, como List<byte>
o List<bool>
.
En la práctica, probablemente se quede sin memoria contigua antes de llegar a cualquiera de esos límites.
¿Hay un límite de elementos que podrían almacenarse en una lista? ¿o simplemente puedes seguir añadiendo elementos hasta que te quedes sin memoria?