¿Por qué se permite "largo" como longitud de matriz en C #?
Quería tratar de asignar una matriz de 4 mil millones de bytes y este es mi código C #:
long size = 4 * 1000;
size *= 1000;
size *= 1000;
byte[] array = new byte[size];
este código falla conSystem.OverflowException
en la línea que contienenew
. Esta bien, resultaLength
devolucionesint
, por lo que la longitud de la matriz también se limita a loint
puede almacenar
Entonces, ¿por qué no hay error de compilación ylong
¿Se puede utilizar como el número de elementos de matriz en la asignación?