Filtrering af Arrays
Stryg for at vise menuen
Filtrering af et array betyder at udvælge kun de elementer, der opfylder specifikke betingelser, såsom at være over en bestemt værdi eller matche et mønster. Denne proces kaldes filtrering, fordi du "filtrerer fra" de elementer, der ikke opfylder dine kriterier, så du kun har de elementer tilbage, du ønsker at beholde. Filtrering er en almindelig opgave, når du vil arbejde med et delmængde af data fra en større samling.
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]); } } } } }
For at forstå, hvordan filtrering fungerer i praksis, kan du se på hvert trin i koden ovenfor. Først har du et array af heltal kaldet numbers. Du ønsker kun at vise de tal, der er større end 50. For at gøre dette gennemløber du arrayet med en for-løkke. Inde i løkken bruger du en if-sætning til at kontrollere, om det aktuelle tal er større end 50. Hvis betingelsen er sand, udskrives tallet. På denne måde udskrives kun de tal, der opfylder din betingelse—at være større end 50—til konsollen.
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 i C# har en fast størrelse. Når du filtrerer elementer, ved du ofte ikke på forhånd, hvor mange der opfylder din betingelse. En almindelig tilgang er at bruge en midlertidig List<T> til at samle de filtrerede elementer og derefter konvertere listen til et array, hvis det er nødvendigt.
1. Hvorfor kan du ikke blot fjerne elementer fra et C# array?
2. Hvad er en almindelig metode til at gemme filtrerede resultater fra et array?
3. Hvordan kontrollerer du, om et element opfylder en filtreringsbetingelse?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat