Alejo que pena te hago un aporte, lo que sucede es que lo que posteas en código son colecciones, en este caso, estás usando una lista y son diferentes a un arreglo.
En la definición de un arreglo en ocaciones debes definir la dimensión o tamaño del mismo, por ejemplo,
int[] myIntArray = new int[5] { 1, 2, 3, 4, 5 };
La definicióin de un array se caracteriza por que pones después del tipo de dato unas llaves “[]”, en si esto le indica al compilador que con esa variable vas a guardar varias posciciones de memoria, seguido dentro de corchetes puedes almacenar sólo la cantidad de espacios de memoria que reservaste para ello, en el ejemplo de arriba sólo tienes cinco número y por tal motivo sólo almacenamos 5 datos númericos; Tienes que tener en cuenta que el indice o apuntador de un array siempre inicia en cero es decir que la última posición de memoria que puedes consultar para este array es myArray[4].
Claro está que el uso de colecciones en ocasiones es mucho más eficiente debido que están optimizadas en el uso de memoria.