C# Academy · Oppitunti

Select, Where, OrderBy ja Take/Skip

Suodattakaa Where-menetelmällä, muuntakaa Select-menetelmällä, järjestäkää OrderBy/ThenBy-menetelmillä ja sivuttakaa Take/Skip-menetelmillä. Yksinkertaisia ja luettavia ketjuja.

Oppitunti 2/38 vaihetta

Select, Where, OrderBy ja Take/Skip on ilmainen C# Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/3. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu C# Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. C# Academy-kurssilla on yhteensä 3 oppituntia.

Operaattorien roolit

Roolit:

  • Where suodattaa
  • Select muuntaa
  • OrderBy/ThenBy järjestää
  • Take/Skip toteuttaa sivutuksen

Pidä ketjut lyhyinä ja helposti luettavina.

Suodatus Wherellä

Where säilyttää alkiot, jotka täyttävät ehdon eli predikaatin.

using System;
using System.Linq;

public class Program
{
  public static void Main(string[] args)
  {
    int[] nums = new int[] { 1, 2, 3, 4, 5, 6 };

    var evens = nums.Where(n => n % 2 == 0);

    foreach (int n in evens)
    {
      Console.WriteLine(n); // 2 4 6
    }
  }
}

Projektio Selectillä

Select muuntaa jokaisen alkion uudeksi arvoksi eli projektioksi.

using System;
using System.Linq;

public class Program
{
  public static void Main(string[] args)
  {
    string[] words = new string[] { "cat", "lion", "tiger" };

    var lengths = words.Select(w => w.Length); // transform to lengths

    foreach (int len in lengths)
    {
      Console.WriteLine(len); // 3 4 5
    }
  }
}

Tulosten järjestäminen

Käytä ensin OrderBy- ja sitten ThenBy-operaattoria usean avaimen mukaiseen järjestämiseen. Lisää tarvittaessa Descending.

using System;
using System.Linq;

public sealed class City
{
  public string Name;
  public int Population;
  public City(string name, int pop) { Name = name; Population = pop; }
}

public class Program
{
  public static void Main(string[] args)
  {
    City[] cities = new City[]
    {
      new City("Rome", 2873000),
      new City("Oslo", 634000),
      new City("Riga", 605000),
      new City("Rio", 6748000)
    };

    var sorted = cities
      .OrderBy(c => c.Name)             // primary
      .ThenByDescending(c => c.Population); // secondary

    foreach (City c in sorted)
    {
      Console.WriteLine(c.Name + " - " + c.Population);
    }
  }
}

Sivutus Take/Skipillä

Skip ohittaa alkioita, ja Take palauttaa kiinteän määrän alkioita. Yhdessä ne toteuttavat sivutuksen.

using System;
using System.Linq;

public class Program
{
  public static void ShowPage(int[] data, int page, int pageSize)
  {
    var pageItems = data
      .OrderBy(x => x)           // define a consistent order
      .Skip((page - 1) * pageSize)
      .Take(pageSize);

    Console.WriteLine("Page " + page + ":");
    foreach (int x in pageItems) Console.WriteLine(x);
  }

  public static void Main(string[] args)
  {
    int[] nums = new int[] { 9, 1, 5, 2, 7, 3, 8, 6, 4 };
    ShowPage(nums, 1, 3); // 1 2 3
    ShowPage(nums, 2, 3); // 4 5 6
  }
}

Ketjutusvinkkejä

Vinkkejä:

  • Suodata aikaisin Where-operaattorilla.
  • Tee projektio myöhään Select-operaattorilla, suodatuksen ja järjestämisen jälkeen.
  • Käytä OrderBy-operaattoria ennen Take- tai Skip-operaattoria, jotta tulokset ovat ennakoitavia.
  • Pidä jokainen vaihe pienenä ja nimeä se selkeästi.

Suodatusoperaattorin nimi

Pikatarkistus: Millä LINQ-operaattorilla sekvenssi suodatetaan predikaatin perusteella?

Kertaus

Kertaus: Käytä Where-operaattoria suodatukseen, Select-operaattoria projektioon, OrderBy- ja ThenBy-operaattoreita järjestämiseen sekä Take/Skip-operaattoreita sivutukseen. Pidä putket pieninä ja helposti luettavina.

Aloita maksutta

Opi C# tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
93
Oppitunnit
346

Usein kysytyt kysymykset

Onko oppitunti ”Select, Where, OrderBy ja Take/Skip” ilmainen?

Kyllä – oppitunnin ”Select, Where, OrderBy ja Take/Skip” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko C# Academy-kurssin, päivitä CoddyKit PROhon. C# Academy-kurssilla on yhteensä 3 oppituntia.

Mitä opin oppitunnilla ”Select, Where, OrderBy ja Take/Skip”?

Suodattakaa Where-menetelmällä, muuntakaa Select-menetelmällä, järjestäkää OrderBy/ThenBy-menetelmillä ja sivuttakaa Take/Skip-menetelmillä. Yksinkertaisia ja luettavia ketjuja. Harjoittelet C# Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni C# Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin C# Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/3.

Kuinka kauan ”Select, Where, OrderBy ja Take/Skip”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä C# Academy-oppitunnilla?

Kyllä. Jokainen C# Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. IEnumerable -putket ja viivästetty suoritus
  2. Select, Where, OrderBy ja Take/Skip
  3. Kyselysyntaksi ja menetelmäsöyntaksi
← Takaisin: C# Academy