2011-10-27 9 views

Respuesta

13

No, no puedes.

Esto no sería útil si se permitiera. El CLR tiene un límite en el tamaño máximo de un objeto a 2 GB. Por lo tanto, ni siquiera es posible construir una matriz donde un índice long sería útil.

+0

Creo que Mono usa 64bit ints para índices de matriz. No estoy seguro si esto significa que su implementación de List <> es diferente. –

+1

La lista podría usar otra estrategia para almacenar sus artículos. Por ejemplo, podría usar algún tipo de estructura de árbol. – phoog

0

No se puede cambiar la lista de estructura <> interfaz, que especifica el tipo del argumento de índice como int. Pero podría crear su propio tipo que toma un índice long.

Como observó JaredPar, no puede crear una matriz lo suficientemente grande como para requerir un índice de 64 bits. Si desea crear una lista que pueda almacenar tantos elementos, tendrá que utilizar algún tipo de estructura de árbol, o arrays de matrices, o algo así. ¡Y necesitarás mucha memoria!

-4

Puede tener una lista que contenga valores largos, o números superiores a 2,147,483,647.

List<long> list = new List<long>(); 

list.Add(3000000000) will work. 
Cuestiones relacionadas