Filtraggio degli array
Scorri per mostrare il menu
Filtrare un array significa selezionare solo quegli elementi che soddisfano condizioni specifiche, come ad esempio essere superiori a un certo valore o corrispondere a un determinato modello. Questo processo viene chiamato filtraggio perché si "filtrano" gli elementi che non soddisfano i criteri, lasciando solo quelli che si desidera mantenere. Il filtraggio è un'operazione comune quando si vuole lavorare con un sottoinsieme di dati provenienti da una collezione più ampia.
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]); } } } } }
Per comprendere come funziona il filtraggio nella pratica, osserva ciascun passaggio nel codice sopra. Innanzitutto, si ha un array di interi chiamato numbers. Si desidera visualizzare solo i numeri maggiori di 50. Per fare ciò, si scorre l'array utilizzando un ciclo for. All'interno del ciclo, si utilizza un'istruzione if per verificare se il numero corrente è maggiore di 50. Se la condizione è vera, quel numero viene stampato. In questo modo, solo i numeri che soddisfano la condizione—essere maggiori di 50—vengono stampati sulla 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]); } } } }
Gli array in C# hanno una dimensione fissa. Quando si filtrano gli elementi, spesso non si conosce in anticipo quanti soddisferanno la condizione. Un approccio comune consiste nell'utilizzare una List<T> temporanea per raccogliere gli elementi filtrati, quindi convertire la lista in un array se necessario.
1. Perché non è possibile semplicemente rimuovere elementi da un array in C#?
2. Qual è un approccio comune per memorizzare i risultati filtrati da un array?
3. Come si verifica se un elemento soddisfa una condizione di filtraggio?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione