Filtrering av Arrayer
Sveip for å vise menyen
Å filtrere et array betyr å velge ut kun de elementene som oppfyller bestemte betingelser, for eksempel å være over en viss verdi eller å matche et mønster. Denne prosessen kalles filtrering fordi du "filtrerer bort" elementene som ikke oppfyller kriteriene dine, slik at du kun sitter igjen med de elementene du ønsker å beholde. Filtrering er en vanlig oppgave når du vil arbeide med et delsett av 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 å forstå hvordan filtrering fungerer i praksis, se på hvert steg i koden ovenfor. Først har du et array av heltall kalt numbers. Du ønsker å vise kun de tallene som er større enn 50. For å gjøre dette, går du gjennom arrayet med en for-løkke. Inne i løkken bruker du en if-setning for å sjekke om det aktuelle tallet er større enn 50. Hvis betingelsen er sann, skriver du ut det tallet. På denne måten er det kun tallene som oppfyller betingelsen—å være større enn 50—som skrives ut 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]); } } } }
Arrayer i C# har en fast størrelse. Når du filtrerer elementer, vet du ofte ikke på forhånd hvor mange som vil oppfylle betingelsen din. En vanlig tilnærming er å bruke en midlertidig List<T> for å samle de filtrerte elementene, og deretter konvertere listen til et array om nødvendig.
1. Hvorfor kan du ikke bare fjerne elementer fra et C#-array?
2. Hva er en vanlig metode for å lagre filtrerte resultater fra et array?
3. Hvordan sjekker du om et element oppfyller en filtreringsbetingelse?
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår