Como outras linguagens de programação, array em C# é um grupo de tipos semelhantes de elementos que possuem localização de memória contígua. Em C#, array é um objeto do tipo base Sistema.Array . Em C#, o índice do array começa em 0. Podemos armazenar apenas um conjunto fixo de elementos no array C#.
Vantagens da matriz C#
- Otimização de código (menos código)
- Acesso aleatório
- Dados fáceis de percorrer
- Dados fáceis de manipular
- Fácil de classificar dados, etc.
Desvantagens da matriz C#
- Tamanho fixo
Tipos de matriz C#
Existem 3 tipos de arrays na programação C#:
- Matriz unidimensional
- Matriz Multidimensional
- Matriz irregular
Matriz unidimensional C#
Para criar um array unidimensional, você precisa usar colchetes [] após o tipo.
int[] arr = new int[5];//creating array
Você não pode colocar colchetes após o identificador.
união vs união todos
int arr[] = new int[5];//compile time error
Vamos ver um exemplo simples de array C#, onde vamos declarar, inicializar e percorrer o array.
using System; public class ArrayExample { public static void Main(string[] args) { int[] arr = new int[5];//creating array arr[0] = 10;//initializing array arr[2] = 20; arr[4] = 30; //traversing array for (int i = 0; i <arr.length; i++) { console.writeline(arr[i]); } < pre> <p>Output:</p> <pre> 10 0 20 0 30 </pre> <h3>C# Array Example: Declaration and Initialization at same time</h3> <p>There are 3 ways to initialize array at the time of declaration.</p> <pre> int[] arr = new int[5]{ 10, 20, 30, 40, 50 }; </pre> <p>We can omit the size of array.</p> <pre> int[] arr = new int[]{ 10, 20, 30, 40, 50 }; </pre> <p>We can omit the new operator also.</p> <pre> int[] arr = { 10, 20, 30, 40, 50 }; </pre> <p>Let's see the example of array where we are declaring and initializing array at the same time.</p> <pre> using System; public class ArrayExample { public static void Main(string[] args) { int[] arr = { 10, 20, 30, 40, 50 };//Declaration and Initialization of array //traversing array for (int i = 0; i <arr.length; i++) { console.writeline(arr[i]); } < pre> <p>Output:</p> <pre> 10 20 30 40 50 </pre> <h3>C# Array Example: Traversal using foreach loop</h3> <p>We can also traverse the array elements using foreach loop. It returns array element one by one.</p> <pre> using System; public class ArrayExample { public static void Main(string[] args) { int[] arr = { 10, 20, 30, 40, 50 };//creating and initializing array //traversing array foreach (int i in arr) { Console.WriteLine(i); } } } </pre> <p>Output:</p> <pre> 10 20 30 40 50 </pre></arr.length;></pre></arr.length;>
Exemplo de array C#: declaração e inicialização ao mesmo tempo
Existem 3 maneiras de inicializar o array no momento da declaração.
int[] arr = new int[5]{ 10, 20, 30, 40, 50 };
Podemos omitir o tamanho do array.
int[] arr = new int[]{ 10, 20, 30, 40, 50 };
Podemos omitir o novo operador também.
int[] arr = { 10, 20, 30, 40, 50 };
Vamos ver o exemplo de array onde estamos declarando e inicializando o array ao mesmo tempo.
using System; public class ArrayExample { public static void Main(string[] args) { int[] arr = { 10, 20, 30, 40, 50 };//Declaration and Initialization of array //traversing array for (int i = 0; i <arr.length; i++) { console.writeline(arr[i]); } < pre> <p>Output:</p> <pre> 10 20 30 40 50 </pre> <h3>C# Array Example: Traversal using foreach loop</h3> <p>We can also traverse the array elements using foreach loop. It returns array element one by one.</p> <pre> using System; public class ArrayExample { public static void Main(string[] args) { int[] arr = { 10, 20, 30, 40, 50 };//creating and initializing array //traversing array foreach (int i in arr) { Console.WriteLine(i); } } } </pre> <p>Output:</p> <pre> 10 20 30 40 50 </pre></arr.length;>
Exemplo de array C#: Traversal usando loop foreach
Também podemos percorrer os elementos do array usando o loop foreach. Ele retorna os elementos do array um por um.
using System; public class ArrayExample { public static void Main(string[] args) { int[] arr = { 10, 20, 30, 40, 50 };//creating and initializing array //traversing array foreach (int i in arr) { Console.WriteLine(i); } } }
Saída:
10 20 30 40 50