Taulukoiden Suodatus
Pyyhkäise näyttääksesi valikon
Taulukon suodattaminen tarkoittaa, että valitaan vain ne alkiot, jotka täyttävät tietyt ehdot, kuten ovat tietyn arvon yläpuolella tai vastaavat tiettyä kaavaa. Tätä prosessia kutsutaan suodattamiseksi, koska "suodatat pois" ne alkiot, jotka eivät täytä kriteereitäsi, jolloin jäljelle jäävät vain haluamasi alkiot. Suodattaminen on yleinen tehtävä, kun halutaan käsitellä suuremmasta kokoelmasta vain tiettyä osajoukkoa.
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]); } } } } }
Jotta ymmärrät, miten suodatus toimii käytännössä, tarkastele yllä olevan koodin jokaista vaihetta. Ensin sinulla on kokonaislukutaulukko nimeltä numbers. Haluat näyttää vain ne luvut, jotka ovat suurempia kuin 50. Tätä varten käyt läpi taulukon for-silmukalla. Silmukan sisällä käytät if-lausetta tarkistaaksesi, onko nykyinen luku suurempi kuin 50. Jos ehto täyttyy, tulostat kyseisen luvun. Näin vain ne luvut, jotka täyttävät ehtosi—eli ovat suurempia kuin 50—tulostetaan konsoliin.
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]); } } } }
C#:n taulukoilla on kiinteä koko. Kun suodatat alkioita, et usein tiedä etukäteen, kuinka moni täyttää ehtosi. Yleinen tapa on käyttää väliaikaista List<T>-kokoelmaa suodatettujen alkioiden keräämiseen ja muuntaa lista taulukoksi tarvittaessa.
1. Miksi et voi yksinkertaisesti poistaa alkioita C#-taulukosta?
2. Mikä on yleinen tapa tallentaa taulukosta suodatetut tulokset?
3. Miten tarkistat, täyttääkö alkio suodatuskriteerin?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme