Requisito previo: Indexadores en C#
El indexador multidimensional es casi similar a las arrays multidimensionales . Para la recuperación eficiente de datos basada en el contenido, se utilizan indexadores multidimensionales. Para crear un indexador multidimensional, debe pasar al menos dos parámetros en la lista de argumentos de la declaración del indexador. Para acceder a un solo elemento de un indexador multidimensional, use subíndices enteros. Cada subíndice indexa una dimensión como el primero indexa la dimensión de la fila, el segundo indexa la dimensión de la columna y así sucesivamente.
Ejemplo 1: usar el accesor get y set
// C# program to illustrate the // Multidimensional Indexers using System; class GFG { // reference to underlying 2D array int[, ] data = new int[5, 5]; // declaring Multidimensional Indexer public int this[int index1, int index2] { // get accessor get { // it returns the values which // read the indexes return data[index1, index2]; } // set accessor set { // write the values in 'data' // using value keyword data[index1, index2] = value; } } } // Driver Class class Geeks { // Main Method public static void Main(String []args) { // creating the instance of // Class GFG as "index" GFG index = new GFG(); // assign the values accordingly to // the indexes of the array // 1st row index[0, 0] = 1; index[0, 1] = 2; index[0, 2] = 3; // 2nd row index[1, 0] = 4; index[1, 1] = 5; index[1, 2] = 6; // 3rd row index[2, 0] = 7; index[2, 1] = 8; index[2, 2] = 9; // displaying the values Console.WriteLine("{0}\t{1}\t{2}\n{3}\t{4}\t{5}\n{6}\t{7}\t{8}", index[0, 0], index[0, 1], index[0, 2], index[1, 0], index[1, 1], index[1, 2], index[2, 0], index[2, 1], index[2, 2]); } }
1 2 3 4 5 6 7 8 9
Ejemplo 2: sin usar el descriptor de acceso «establecer», es decir, solo usando la propiedad de solo lectura
// C# program to illustrate the Multidimensional // Indexer without using set accessor using System; class GFG { // default constructor public GFG() {} // Multidimensional Indexer public int this[int i1, int i2] { // get accessor get { // read only properties return (i1 + i2); } // No set accessor used } // Main Method public static void Main(String []args) { // creating object of class // "GFG" as "index" GFG index = new GFG(); // displaying the values for (int i = 0; i <= 2; i++) { for (int j = 1; j <= 3; j++) { Console.Write(index[i, j] + "\t"); } Console.WriteLine(); } } }
1 2 3 2 3 4 3 4 5
Publicación traducida automáticamente
Artículo escrito por SoumikMondal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA