Filtrando Arrays
Deslize para mostrar o menu
Filtrar um array significa selecionar apenas os elementos que atendem a condições específicas, como estar acima de um determinado valor ou corresponder a um padrão. Esse processo é chamado de filtragem porque você "filtra" os elementos que não atendem aos seus critérios, restando apenas os elementos que deseja manter. A filtragem é uma tarefa comum quando se deseja trabalhar com um subconjunto de dados de uma coleção maior.
Program.cs
1234567891011121314151617181920using System; namespace ConsoleApp { public class Program { public static void Main(string[] args) { int[] numbers = { 10, 55, 23, 67, 89, 34, 51, 42 }; Console.WriteLine("Numbers greater than 50:"); for (int i = 0; i < numbers.Length; i++) { if (numbers[i] > 50) { Console.WriteLine(numbers[i]); } } } } }
Para entender como a filtragem funciona na prática, observe cada etapa no código acima. Primeiro, há um array de inteiros chamado numbers. O objetivo é exibir apenas os números que são maiores que 50. Para isso, utiliza-se um laço for para percorrer o array. Dentro do laço, uma instrução if verifica se o número atual é maior que 50. Se a condição for verdadeira, esse número é impresso. Dessa forma, apenas os números que atendem à condição — serem maiores que 50 — são exibidos no console.
Program.cs
123456789101112131415161718192021222324252627282930using System; using System.Collections.Generic; namespace ConsoleApp { public class Program { public static void Main(string[] args) { int[] numbers = { 10, 55, 23, 67, 89, 34, 51, 42 }; List<int> filteredList = new List<int>(); for (int i = 0; i < numbers.Length; i++) { if (numbers[i] > 50) { filteredList.Add(numbers[i]); } } int[] filteredArray = filteredList.ToArray(); Console.WriteLine("Filtered array:"); for (int i = 0; i < filteredArray.Length; i++) { Console.WriteLine(filteredArray[i]); } } } }
Arrays em C# possuem tamanho fixo. Ao filtrar elementos, geralmente não se sabe antecipadamente quantos atenderão à condição. Uma abordagem comum é usar uma List<T> temporária para coletar os elementos filtrados e, se necessário, converter a lista em um array.
1. Por que não é possível simplesmente remover elementos de um array em C#?
2. Qual é uma abordagem comum para armazenar resultados filtrados de um array?
3. Como verificar se um elemento atende a uma condição de filtragem?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo