Colección de citas famosas - Slogan de motivación - ¿Cuál es la diferencia entre indexadores y matrices en C#?

¿Cuál es la diferencia entre indexadores y matrices en C#?

En términos generales, la clase que implementa el indexador es una clase de colección o una clase de colección contenedora. Los indexadores le permiten hacer referencia fácilmente a los datos de esta colección.

No es necesario declarar los indexadores y se pueden usar directamente en la clase que declara el indexador.

La principal diferencia entre un indexador y una matriz es que

el tipo de valor de índice del indexador no es necesariamente un número entero.

El valor de índice utilizado para acceder a la matriz debe ser un número entero, pero el indexador puede definir otros tipos de valores de índice.

El indexador permite la sobrecarga.

Una clase no se limita a definir un solo indexador. Una clase puede tener muchos indexadores y usted puede sobrecargar sus funciones siempre que las firmas de funciones de los indexadores sean diferentes.

Los indexadores no son variables.

La diferencia entre índices y arrays es que los indexadores no se corresponden directamente con los almacenes de datos de referencia, mientras que los arrays sí. Los indexadores tienen accesos get y accesos set, que se utilizan para indicar el código que se ejecutará al leer o escribir el elemento de índice.

En su ejemplo, hay una matriz o colección int dentro de MyClass, y el índice que utiliza en realidad hace referencia a la clase de colección interna.