martes, 12 de febrero de 2013

Lenguaje C# Parte 2. 2 Matrices

Lenguaje C# Parte 2. 2



Matrices (arreglos)

Un arreglo o matriz es una estructura de datos que contiene una serie de variables del mismo tipo. Las
matrices se declaran con un tipo:

Los ejemplos siguientes crean matrices unidimensionales, multidimensionales y escalonadas:

Propiedades de una matriz:



  • Una matriz puede ser unidimensional, multidimensional o escalonada.
  • El valor predeterminado de los elementos numéricos de matriz se establece en cero y el de los elementos de referencia se establece en null.
  • Una matriz escalonada es una matriz de matrices y por consiguiente sus elementos son tipos de referencia y se inicializan en null.
  • Las matrices se indizan basadas en cero: una matriz con n elementos se indiza desde 0 hasta n-1.
  • Los elementos de una matriz pueden ser de cualquier tipo, incluido el tipo matriz.
  • Los tipos de matriz son tipos de referencia derivados del tipo base abstracto Array. Puesto que este tipo implementa IEnumerable e IEnumerable, puede utilizar la iteración foreach en todas las matrices de C#.


Utilizar matrices como objetos

En C#, las matrices son de hecho objetos, y no simplemente regiones direccionables de memoria contigua
como ocurre en C y C++. Array es el tipo base abstracto de todos los tipos de matriz. Las propiedades y otros miembros de la clase Array se pueden utilizar cuando sea necesario.

Matrices unidimensionales

Una matriz de cinco elementos enteros se puede declarar como se muestra en el ejemplo siguiente:
Esta matriz contiene elementos desde array[0] hasta array[4]. El operador new se utiliza para crear la matriz e inicializar sus elementos con valores predeterminados. En este ejemplo, todos los elementos de la matriz se inicializan con cero.

Inicialización de matrices

Es posible inicializar una matriz en el momento de su declaración, en cuyo caso, no es necesario el
especificador de rango ya que éste viene dado por el número de elementos de la lista de inicialización

Matrices de tipo de valor y tipo de referencia

El resultado de esta instrucción depende de si ClaseType es un tipo de valor o un tipo de referencia. Si es un tipo de valor, la instrucción genera una matriz de 10 instancias del tipo ClaseType . Si  ClaseType es un tipo de referencia, la instrucción crea una matriz de 10 elementos, cada uno de los cuales se inicializa con una referencia nula.

Matrices multidimensionales

Las matrices pueden tener varias dimensiones:

Inicialización de matrices

La matriz se puede inicializar en la declaración.

Matrices escalonadas

Una matriz escalonada es una matriz cuyos elementos son matrices. Los elementos de una matriz
escalonada pueden ser de diferentes dimensiones y tamaños.

Cada elemento es una matriz unidimensional de enteros. El primer elemento es una matriz de 5 enteros, el segundo es una matriz de 4 enteros y el tercero es una matriz de 2 enteros.

También se pueden utilizar inicializadores para rellenar los elementos de la matriz con valores, en cuyo caso no es necesario especificar el tamaño de la matriz:




________________________________________________________________________



No hay comentarios:

Publicar un comentario