Los arrays se usan para guardar colecciones de un número determinado de objetos del mismo tipo.
Para colecciones de objetos con tamaño variable se pueden utilizar otras clases como List<>, definida en System.Collections.Generic.
Los arrays se pueden definir de varias manera como vemos en estos ejemplos:
Type[] nombreArray = new Type[numeroElementos]; int[] arrayDeEnteros = new int[10]; string[] listaDeFrases = new string[20];
Se pueden definir los miembros de un array en su declaración usando {}:
Type[] nameOfArray = new Type[numElems] { elem1,… }
int[] myArray = new int[5] { 1, 2, 3, 4, 5 };
Para acceder a los miembros de un array se usa el operador []
Se empieza a indexar por el cero.
float[] myArray = new float[4] { 4.0f, 3.0f, 2.0f, 1.0f };
Console.WriteLine(“Mi tercer elemento es: {0}”, myArray[2]); //resultado-> Mi tercer elemento es: 2.0
myArray[1] = 0.0f; //resultado-> { 4.0f, 0.0f, 2.0f, 1.0f }
Se pueden definir arrays multidimensionales:
int[,] my2DArray = new int[2,3] { {1, 2, 3}, {3, 2, 1} };
float[,,] my3DArray = new float[3, 3, 3];
int a = my2DArray[0,2]; // a == 3
También se pueden definir arrays de arrays aunque no tengan todos el mismo tamaño:
int[][] arrayOfArrays = new int[2][] { new int[3] {1, 2, 3}, new int[4] {4, 3, 2, 1} };
int a = arrayOfArrays[1][3]; // a == 1
Al igual que en los Strings los arrays tienen un monton de funciones. Algunas de estas son las más usadas:
La propiedad Length devuelve el tamaño del array
int[] myArray = new int[100]; int arraySize = myArray.Length; // arraySize == 100
Los arrays son tipos por referencia. Si quieres copiar un array entero (con sus valores) se pueden usar las funciones CopyTo() o Copy():
int[] array1 = new int[4] { 1, 2, 3, 4 };
int[] array2 = new int[4];
Array.Copy(array1, array2, array1.Length);
