Filtrering av Arrayer
Svep för att visa menyn
Att filtrera en array innebär att välja ut endast de element som uppfyller specifika villkor, såsom att vara över ett visst värde eller matcha ett mönster. Denna process kallas filtrering eftersom du "silar bort" de element som inte uppfyller dina kriterier, och behåller endast de element du vill ha kvar. Filtrering är en vanlig uppgift när du vill arbeta med en delmängd av data från 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]); } } } } }
För att förstå hur filtrering fungerar i praktiken, titta på varje steg i koden ovan. Först har du en array av heltal som heter numbers. Du vill visa endast de tal som är större än 50. För att göra detta loopar du igenom arrayen med en for-loop. Inuti loopen använder du en if-sats för att kontrollera om det aktuella talet är större än 50. Om villkoret är sant skriver du ut det talet. På så sätt skrivs endast de tal ut till konsolen som uppfyller ditt villkor—att vara större än 50.
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 storlek. När du filtrerar element vet du ofta inte i förväg hur många som kommer att uppfylla ditt villkor. Ett vanligt tillvägagångssätt är att använda en temporär List<T> för att samla de filtrerade elementen och sedan konvertera listan till en array om det behövs.
1. Varför kan du inte helt enkelt ta bort element från en C#-array?
2. Vilket är ett vanligt tillvägagångssätt för att lagra filtrerade resultat från en array?
3. Hur kontrollerar du om ett element uppfyller ett filtreringsvillkor?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal