Introdução às matrizes em C #
Uma matriz é um conjunto de objetos. Os elementos presentes em uma matriz são do mesmo tipo de dados. Pode ser int, float, char, etc. O conceito de Arrays em C # passa a existir para evitar o incômodo de armazenar valores diferentes criando variáveis diferentes.
23 | 56. | 32. | 54 | 1 1 |
0 0 | 1 1 | 2 | 3 | 4 |
O índice de uma matriz é iniciado a partir de 0 e o índice de uma matriz será aumentado com base no tamanho específico da matriz. Se tivermos uma matriz de comprimento 5, a matriz começará no índice 0 e termina no índice 4. Portanto, o comprimento da matriz define o número de elementos nessa matriz.
Como a matriz funciona em c #?
Em C #, o comprimento da matriz pode ser fixo ou dinâmico. Em uma matriz de comprimento fixo, um número fixo de itens pode ser armazenado. No array dinâmico, o tamanho aumenta à medida que novos itens chegam ao array, pois a alocação de memória de um array é dinâmica. Nas matrizes, a memória da pilha armazena a variável da matriz, enquanto a pilha gerenciada armazena os elementos. Em C #, a matriz é derivada do sistema. Classe de matriz. Se tivermos uma matriz inteira, todos os elementos terão seus respectivos valores e, como uma matriz em C # é um tipo de referência, os elementos manterão uma referência aos objetos reais.
Como criar uma matriz em c #?
Sintaxe de uma matriz: data_type () name_of_array
1. Declaração de uma matriz
Código:
class Name
(
static void Main(string()args)
(
Int32() intarray; //array declaration
)
)
Explicação do código: Na declaração Array, a primeira parte é o tipo de dados que define o tipo de objetos em uma matriz. A segunda parte é () que define o número de objeto em uma matriz e, em seguida, é o nome da matriz que é int array nesse caso
2. Inicialização da matriz
Código:
class Name
(
static void Main(string()args)
(
Int32() Intarray; //array declaration
Intarray = new Int32(4); // array initialization
Intarray(0)= 23; // assigning values to the elements
Intarray(1)=5;
Intarray(2)=88;
Intarray(3)=6;
)
)
Explicação do código: Na inicialização da matriz, precisamos especificar o número de valores em uma matriz usando colchetes e atribuir esses valores a cada elemento de uma matriz. Então aqui intarray (0) significa que estamos atribuindo um valor na primeira posição, intarray (1) significa atribuir valores na segunda posição e assim por diante.
3. Exibindo valores da matriz
Código:
class Name
(
static void Main(string()args)
(
Int32() Intarray; //array declaration
Intarray = new Int32(4); //array initialization
Intarray(0)= 23; //assigning values to array
Intarray(1)=5;
Intarray(2)=88;
Intarray(3)=6;
Console.WriteLine(Intarray(0));
Console.WriteLine(Intarray(1));
Console.WriteLine(Intarray(2));
Console.WriteLine(Intarray(3));
Console.ReadKey();
)
)
Explicação do código: Console.WriteLine é um método para exibir cada valor de uma matriz no console.
Exemplos de matrizes
Exemplos e resultados em C # são exibidos abaixo
Exemplo 1
Código:
using System;
namespace ArrayDemo
(
class Name
(
static void Main(string() args)
(
Int32() Intarray; // array declaration
Intarray = new Int32(4); // array initialization
Intarray(0) = 23; // assigning values to the array element
Intarray(1) = 5;
Intarray(2) = 88;
Intarray(3) = 6;
Console.WriteLine(Intarray(0));
Console.WriteLine(Intarray(1));
Console.WriteLine(Intarray(2));
Console.WriteLine(Intarray(3));
Console.ReadKey();
)
)
)
No código acima, a matriz é declarada e inicializada com quatro elementos e Console.WriteLine exibe todos os valores.
Resultado:
Exemplo 2
Código:
using System;
namespace Demo
(
class Array
(
static void Main(string() args)
(
int() arr = new int(4) ( 10, 20, 30, 40 );
for (int i = 0; i < arr.Length; i++) // Traverse array elements
(
Console.WriteLine(arr(i));
)
)
)
)
No código acima, a matriz é inicializada e declarada com quatro elementos e, em seguida, o loop é usado para acessar os elementos da matriz.
Resultado:
Exemplo 3
Também podemos usar o foreach para acessar os elementos da matriz
Código:
using System;
namespace Demo
(
class Array
(
static void Main(string() args)
(
int() arr = new int(4) ( 10, 20, 30, 40 );
foreach (int i in arr)
(
Console.WriteLine(i);
)
)
)
)
Resultado:
Tipos de matriz em c #
Em C #, temos vários tipos de matrizes:
- Matriz de dimensão única.
- Matriz multidimensional.
- Matriz irregular.
Os exemplos acima são da matriz de dimensão única.
Matriz multidimensional
Em matrizes retangulares ou matrizes multidimensionais, os dados são armazenados em forma de tabela
Int(, ) intArray = new int(4, 3)
Neste, especificamos o tamanho da matriz com quatro linhas e três colunas.
1. Declaração de matrizes multidimensionais
int(, ) array = new int(3, 3); //declaration of 2D array
int(,, ) array=new int(3, 3, 3); //declaration of 3D array
2. Inicialização da matriz multidimensional
int(, ) array = new int(3, 3); //declaration of 2D array
array(0, 1)=10; //initialization
array(1, 2)=20;
array(2, 0)=30;
Exemplo de matriz multidimensional
Código:
using System;
namespace Demo
(
class Array
(
public static void Main()
(
int(, ) intArray = new int(3, 2)(
(1, 2),
(2, 4),
(4, 8)
);
Console.WriteLine(intArray(0, 0));
Console.WriteLine(intArray(0, 1));
Console.WriteLine(intArray(1, 0));
Console.WriteLine(intArray(1, 1));
Console.WriteLine(intArray(2, 0));
Console.WriteLine(intArray(2, 1));
)
)
)
Explicação do código: No código acima, linhas e colunas são especificadas com três linhas e quatro colunas e o Console.WriteLine exibe todos os valores.
Resultado:
Matriz irregular
Elementos de matrizes irregulares são "matriz" porque armazena diretamente a matriz.
1. Declaração da matriz irregular
int()() array = new int(3)();
O primeiro colchete informa sobre o tamanho e o segundo colchete informa sobre as dimensões da matriz.
2. Inicialização e atribuir valores às matrizes irregulares
array(0) = new int(4) ( 1, 2, 3, 4 );
array(1) = new int(5) ( 1, 2, 3, 4, 5 );
O tamanho dos elementos pode ser diferente.
Abaixo estão os exemplos da matriz irregular:
Exemplo 1
Código:
using System;
namespace Demo
(
class Array
(
public static void Main()
(
int()() array = new int(2)();// Declare the array
array(0) = new int() ( 1, 2, 6, 8 );// Initialize the array
array(1) = new int() ( 72, 51, 47, 23, 54, 13 );
// Traverse array elements
for (int i = 0; i < array.Length; i++)
(
for (int j = 0; j < array(i).Length; j++)
(
System.Console.Write(array(i)(j) + " ");
)
System.Console.WriteLine();
)
)
)
)
Resultado:
Exemplo 2
Código:
using System;
namespace Demo
(
class Array
(
public static void Main()
(
int()() array = new int(3)()(
new int() ( 51, 22, 43, 87 ),
new int() ( 2, 3, 4, 56, 94, 23 ),
new int() ( 4, 5 )
);
// Traverse array elements
for (int i = 0; i < array.Length; i++)
(
for (int j = 0; j < array(i).Length; j++)
(
System.Console.Write(array(i)(j) + " ");
)
System.Console.WriteLine();
)
)
)
)
Saída :
Método de matriz em c #
Os seguintes pontos são os seguintes:
- Limpar (matriz, Int32, Int32) : este método é usado para definir o intervalo do elemento como padrão, com base no tipo de elemento.
- Clone (): este método é usado para criar uma cópia do elemento.
- Copiar (matriz, matriz, Int32): este método é usado para copiar os elementos de uma matriz para outra matriz.
- Igual (Objeto): Este método basicamente verifica se o objeto mencionado é igual ao objeto atual.
- Classificar (matriz): este método é usado para classificar a matriz.
- CreateInstance (Type, Int32): este método é usado para criar uma matriz de um tipo, comprimento e tamanho específicos.
- ToString (): usado para exibir a representação de strings.
- GetType (): este método é usado para retornar o tipo de objeto.
- IndexOf (Array, Object): Este método é usado para pesquisar o objeto em particular e retornar o índice da primeira ocorrência em uma matriz 1D.
- Reverse (Array): esse método é usado para reverter a sequência dos elementos.
- SetValue (Object, Int32): Este método na matriz 1D é usado para definir o valor de um elemento.
Exemplo
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ArrayMethod
(
class Program
(
static void Main(string() args)
(
int() arr = new int(6) ( 5, 8, 9, 25, 0, 7 );
// Creating an empty array
int() arr2 = new int(6);
Console.WriteLine("length of first array: " + arr.Length); // length of array
Array.Sort(arr); //sorting array elements
Console.Write("Sorted array elements: ");
PrintArray(arr);
Array.Copy(arr, arr2, arr.Length); // copy elements of one array to other
Console.Write("Second array elements: ");
PrintArray(arr2);
Console.WriteLine("Get Index:\t(0)", Array.IndexOf(arr, 9)); // index of value
Array.Reverse(arr);
Console.Write("\nFirst Array elements in reverse order: "); // reverse the elements of array
PrintArray(arr);
Array.Clear(arr, 0, 6); //set default value of elements
PrintArray(arr);
)
static void PrintArray(int() arr)
(
foreach (int i in arr)
(
Console.Write("\t(0)", i);
)
Console.WriteLine("\n");
)
)
)
Explicação do código: O código acima mostra vários métodos da matriz na qual arr. Comprimento é usado para obter o comprimento igual a 6, Matriz. Classificação fornece os valores na forma classificada. Matriz. Copiar copia os valores da primeira matriz para a segunda matriz. Matriz. O reverso exibe a matriz na ordem inversa, enquanto Clear define os valores padrão dos elementos.
Resultado:
Conclusão
Portanto, é melhor declarar uma variável de matriz em vez de declarar muitas variáveis diferentes, pois os elementos na memória são armazenados sequencialmente, o que a torna mais rápida. Além disso, é fácil atravessar, manipular e classificar os dados usando matrizes.
Artigos recomendados
Este é um guia para matrizes em C #. Aqui discutimos como criar matrizes em c #, tipos de matriz, métodos e exemplos. Você também pode consultar nossos outros artigos relacionados para saber mais.
- Comandos C #
- Funções C #
- Matriz vs Lista C #
- Matrizes em C ++
- Matriz multidimensional em C
- Matriz multidimensional em Python
- Matrizes em PHP
- Matrizes multidimensionais em C ++ com exemplos