Matrices de C#
Matrices de C#
En este tutorial, aprenderemos sobre las matrices de C#. Aprenderemos a crear, inicializar y acceder a la matriz con la ayuda de ejemplos.
Una matriz es una colección de tipos de datos similares. Por ejemplo,
Supongamos que necesitamos registrar la edad de 5 estudiantes. En lugar de crear 5 variables separadas, simplemente podemos crear una matriz:
1. Declaración de matriz de C#
En C#, así es como podemos declarar una matriz.
datatype[] arrayName;
Aquí,
dataType
- tipo de datos comoint
,string
,char
, etc.arrayName
- es un identificador
Veamos un ejemplo,
int[] age;
Aquí, hemos creado una matriz llamada edad . Puede almacenar elementos de int
tipo.
¿Pero cuántos elementos puede almacenar?
Para definir la cantidad de elementos que puede contener una matriz, debemos asignar memoria para la matriz en C#. Por ejemplo,
// declare an array
int[] age;
// allocate memory for array
age = new int[5];
Aquí, new int[5]
representa que la matriz puede almacenar 5 elementos. También podemos decir que el tamaño/longitud de la matriz es 5.
Nota :También podemos declarar y asignar la memoria de una matriz en una sola línea. Por ejemplo,
int[] age = new int[5];
2. Inicialización de matriz en C#
En C#, podemos inicializar una matriz durante la declaración. Por ejemplo,
int [] numbers = {1, 2, 3, 4, 5};
Aquí, hemos creado una matriz llamada números y la inicializamos con valores 1 , 2 , 3 , 4 y 5 dentro de las llaves.
Tenga en cuenta que no hemos proporcionado el tamaño de la matriz. En este caso, C# especifica automáticamente el tamaño contando el número de elementos en la matriz (es decir, 5).
En una matriz, usamos un número de índice para determinar la posición de cada elemento de la matriz. Podemos usar el número de índice para inicializar una matriz en C#. Por ejemplo,
// declare an array
int[] age = new int[5];
//initializing array
age[0] = 12;
age[1] = 4;
age[2] = 5;
...
Nota :
- Un índice de matriz siempre comienza en 0. Es decir, el primer elemento de una matriz está en el índice 0.
- Si el tamaño de una matriz es 5, el índice del último elemento será 4 (5 - 1).
3. Acceder a los elementos de la matriz
Podemos acceder a los elementos de la matriz utilizando el índice de la matriz. Por ejemplo,
// access element at index 2
array[2];
// access element at index 4
array[4];
Aquí,
array[2]
- acceder al 3er elementoarray[4]
- acceder al 5º elemento
Ejemplo:Matriz C#
using System;
namespace AccessArray {
class Program {
static void Main(string[] args) {
// create an array
int[] numbers = {1, 2, 3};
//access first element
Console.WriteLine("Element in first index : " + numbers[0]);
//access second element
Console.WriteLine("Element in second index : " + numbers[1]);
//access third element
Console.WriteLine("Element in third index : " + numbers[2]);
Console.ReadLine();
}
}
}
Salida
Element in first index : 1 Element in second index : 2 Element in third index : 3
En el ejemplo anterior, hemos creado una matriz llamada numbers con elementos 1, 2, 3 . Aquí, estamos usando el número de índice para acceder a los elementos de la matriz.
numbers[0]
- acceder al primer elemento, 1numbers[1]
- acceder al segundo elemento, 2numbers[3]
- acceder al tercer elemento, 3
4. Cambiar elementos de matriz
También podemos cambiar los elementos de una matriz. Para cambiar el elemento, simplemente asignamos un nuevo valor a ese índice en particular. Por ejemplo,
using System;
namespace ChangeArray {
class Program {
static void Main(string[] args) {
// create an array
int[] numbers = {1, 2, 3};
Console.WriteLine("Old Value at index 0: " + numbers[0]);
// change the value at index 0
numbers[0] = 11;
//print new value
Console.WriteLine("New Value at index 0: " + numbers[0]);
Console.ReadLine();
}
}
}
Salida
Old Value at index 0: 1 New Value at index 0: 11
En el ejemplo anterior, el valor inicial en el índice 0 es 1. Observe la línea,
//change the value at index 0
numbers[0] = 11;
Aquí, estamos asignando un nuevo valor de 11 al índice 0. Ahora, el valor en el índice 0 se cambia de 1 a 11 .
5. Iterando C# Array usando Loops
En C#, podemos usar bucles para iterar a través de cada elemento de una matriz. Por ejemplo,
Ejemplo:Uso del bucle for
using System;
namespace AccessArrayFor {
class Program {
static void Main(string[] args) {
int[] numbers = { 1, 2, 3};
for(int i=0; i < numbers.Length; i++) {
Console.WriteLine("Element in index " + i + ": " + numbers[i]);
}
Console.ReadLine();
}
}
}
Salida
Element in index 0: 1 Element in index 1: 2 Element in index 2: 3
En el ejemplo anterior, hemos usado un ciclo for para iterar a través de los elementos de la matriz, numbers . Fíjate en la línea,
numbers.Length
Aquí, el Length
propiedad de la matriz da el tamaño de la matriz.
También podemos usar un bucle foreach para iterar a través de los elementos de una matriz. Por ejemplo,
Ejemplo:Uso del bucle foreach
using System;
namespace AccessArrayForeach {
class Program {
static void Main(string[] args) {
int[] numbers = {1, 2, 3};
Console.WriteLine("Array Elements: ");
foreach(int num in numbers) {
Console.WriteLine(num);
}
Console.ReadLine();
}
}
}
Salida
Array Elements: 1 2 3
6. Operaciones de matriz C# usando System.Linq
En C#, tenemos el System.Linq
espacio de nombres que proporciona diferentes métodos para realizar varias operaciones en una matriz. Por ejemplo,
Ejemplo:Buscar Elemento Mínimo y Máximo
using System;
// provides us various methods to use in an array
using System.Linq;
namespace ArrayMinMax {
class Program {
static void Main(string[] args) {
int[] numbers = {51, 1, 3, 4, 98};
// get the minimum element
Console.WriteLine("Smallest Element: " + numbers.Min());
// Max() returns the largest number in array
Console.WriteLine("Largest Element: " + numbers.Max());
Console.ReadLine();
}
}
}
Salida
Smallest Element: 1 Largest Element: 98
En el ejemplo anterior,
numbers.Min()
- devuelve el número más pequeño de una matriz, 1numbers.Max()
- devuelve el número más grande de una matriz, 98
Ejemplo:encontrar el promedio de una matriz
using System;
// provides us various methods to use in an array
using System.Linq;
namespace ArrayFunction {
class Program {
static void Main(string[] args) {
int[] numbers = {30, 31, 94, 86, 55};
// get the sum of all array elements
float sum = numbers.Sum();
// get the total number of elements present in the array
int count = numbers.Count();
float average = sum/count;
Console.WriteLine("Average : " + average);
// compute the average
Console.WriteLine("Average using Average() : " + numbers.Average());
Console.ReadLine();
}
}
}
Salida
Average : 59.2 Average using Average() : 59.2
En el ejemplo anterior, hemos utilizado
numbers.Sum()
para obtener la suma de todos los elementos de la matriznumbers.Count()
para obtener el número total de elementos presentes dentro de la matriz
Luego dividimos la suma por el conteo para obtener el promedio.
float average = sum / count;
Aquí, también hemos usado el numbers.Average()
método del System.Linq
espacio de nombres para obtener el promedio directamente.
Nota :Es obligatorio utilizar el System.Linq
espacio de nombres mientras usa Min()
, Max()
, Sum()
, Count()
y Average()
métodos.
Lenguaje C
- Superconductividad
- Matriz irregular de C#
- Pasar matriz a una función en programación C++
- Pasar arreglos a una función en C
- Relación entre matrices y punteros
- Matrices de copia de Java
- Matrices en C++ | Declarar | Inicializar | Ejemplos de puntero a matriz
- C++ Asignación dinámica de arreglos con ejemplo
- Tutorial de Java Arrays:declarar, crear, inicializar [ejemplo]
- MATLAB - Matrices
- La guía definitiva para arreglos de cuadrícula de bolas