Conteúdo do Curso
Noções Básicas de C#
Noções Básicas de C#
Percorrendo Arrays
É muito útil poder percorrer rapidamente todos os elementos de um array e realizar alguma operação neles ou extrair seus valores.
Existem várias maneiras de fazer isso, no entanto, a mais comum é usar os loops for
e foreach
.
No caso de usar o loop for
, podemos usar a variável i
do loop para indexação:
main
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int[] numbers = { 5, 10, 15, 20, 25 }; for(int i = 0; i < 5; i++) { Console.WriteLine(numbers[i]); } } } }
No código acima, escrevemos a condição i < 5
onde escolhemos 5
como o limite. Em vez de contar manualmente o número de elementos, também podemos usar o atributo Length
dos arrays para acessar o comprimento (tamanho) de um array:
main
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int[] myArray = new int[10]; Console.WriteLine(myArray.Length); // Output: 10 } } }
Usando o atributo length, o loop ficará algo assim:
main
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int[] numbers = { 5, 10, 15, 20, 25 }; for(int i = 0; i < numbers.Length; i++) { Console.WriteLine(numbers[i]); } } } }
Também podemos imprimir os números em ordem inversa, modificando o loop para rodar na direção oposta:
main
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int[] numbers = { 5, 10, 15, 20, 25 }; for (int i = numbers.Length - 1; i >= 0; i--) { Console.WriteLine(numbers[i]); } } } }
Iniciamos i
com o valor numbers.Length - 1
, porque o índice do último elemento de um array é 1
a menos que o tamanho desse array, então neste caso a variável do loop começará com o valor 9
. A condição do loop i >= 0
garante que o loop continue até i
chegar a 0
. Decrementamos o valor de i
a cada iteração.
Outro método um pouco mais fácil de percorrer arrays é usando o loop foreach
. A sintaxe de um loop foreach é a seguinte:
main
foreach (datatype variableName in arrayName) { // code block to be executed }
Por exemplo:
main
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int[] numbers = { 5, 10, 15, 20, 25 }; foreach(int n in numbers) { Console.WriteLine($"Number: {n}"); }; } } }
O loop foreach
é mais simples que o loop for
, no entanto, a diferença é que não podemos modificar os elementos originais do array em um loop foreach
. Se tentarmos atribuir um novo valor a n
no código acima, o compilador mostrará um erro. No entanto, isso é possível no loop for, já que conhecemos os índices dos elementos, podemos modificar o array:
main
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int[] numbers = { 5, 10, 15, 20, 25 }; for(int i = 0; i < numbers.Length; i++) { numbers[i] *= 2; }; for(int i = 0; i < numbers.Length; i++) { Console.WriteLine(numbers[i]); } } } }
Obrigado pelo seu feedback!