¿Cuál es el límite máximo de datos en la lista en c #?

¿Cuántos valores puedo agregar a la lista?

Por ejemplo:

List Item = runtime data 

Los datos no están fijos en tamaño. Puede ser 10 000 o más de 1 000 000. He buscado en Google pero no he encontrado una respuesta exacta.

La cantidad máxima de elementos que se pueden almacenar en la implementación actual de List es, teóricamente, Int32.MaxValue : algo más de 2 mil millones.

En la implementación actual de Microsoft del CLR, hay un límite máximo de tamaño de objeto de 2 GB. (Es posible que otras implementaciones, por ejemplo Mono, no tengan esta restricción).

Su lista particular contiene cadenas, que son tipos de referencia. El tamaño de una referencia será de 4 u 8 bytes, dependiendo de si se está ejecutando en un sistema de 32 o 64 bits. Esto significa que el límite práctico para la cantidad de cadenas que podría almacenar será de aproximadamente 536 millones en 32 bits o 268 millones en 64 bits.

En la práctica, lo más probable es que se quede sin memoria asignable antes de llegar a esos límites, especialmente si se está ejecutando en un sistema de 32 bits.

2147483647 porque todas las funciones fuera de List están usando int.

Fuente de mscorlib:

 private T[] _items; private int _size; public T this[int index] { get { //... } } 

La propiedad list.Count () es int32, por lo que debe ser el límite máximo de int32, pero la forma en que su lista se desempeña por encima de este límite es una buena observación.

si haces algunas operaciones de manupulación de lista, sería más simple en teoría.

Diría que si tiene una gran cantidad de artículos sobre las Colecciones Paralelas en .NET 4.0, esto haría que las operaciones de su lista sean más receptivas.