remarks cref c# .net collections ilist

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?