C# Academy · Lektion

Select, Where, OrderBy, Take/Skip

Filtrera med Where, omvandla med Select, sortera med OrderBy/ThenBy och sidindela med Take/Skip. Enkla och lättlästa kedjor.

Lektion 2 av 38 steg

Select, Where, OrderBy, Take/Skip är en gratis lektion i C# Academy på CoddyKit. Detta är lektion 2 av 3. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för C# Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i C# Academy innehåller totalt 3 lektioner.

Operatorernas roller

Roller:

  • Where filtrerar
  • Select transformerar
  • OrderBy/ThenBy sorterar
  • Take/Skip sidindelar resultat

Håll kedjorna korta och lättlästa.

Filtrering med Where

Where behåller element som uppfyller ett villkor (predikat).

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
    }
  }
}

Projektion med Select

Select transformerar varje element till ett nytt värde (projektion).

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
    }
  }
}

Sortering av resultat

Använd OrderBy och sedan ThenBy för sortering på flera nycklar; lägg till Descending vid behov.

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);
    }
  }
}

Sidindelning med Take/Skip

Skip hoppar över element; Take returnerar ett fast antal. Tillsammans implementerar de sidindelning.

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
  }
}

Tips för kedjor

Tips:

  • Filtrera tidigt med Where.
  • Projicera sent med Select (efter filtrering/sortering).
  • Använd OrderBy före Take/Skip för förutsägbara resultat.
  • Håll varje steg litet och namnge det tydligt.

Namnet på filtreringsoperatorn

Snabb kontroll: Vilken LINQ-operator filtrerar en sekvens med hjälp av ett predikat?

Sammanfattning

Sammanfattning: Använd Where för att filtrera, Select för att projicera, OrderBy/ThenBy för att sortera och Take/Skip för att sidindela. Håll pipelines små och lättlästa.

Gratis att börja

Lär dig C# med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
93
Lektioner
346

Vanliga frågor

Är lektionen ”Select, Where, OrderBy, Take/Skip” gratis?

Ja – hela texten till ”Select, Where, OrderBy, Take/Skip” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i C# Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i C# Academy innehåller totalt 3 lektioner.

Vad lär jag mig i ”Select, Where, OrderBy, Take/Skip”?

Filtrera med Where, omvandla med Select, sortera med OrderBy/ThenBy och sidindela med Take/Skip. Enkla och lättlästa kedjor. Ni övar på C# Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig C# Academy?

Du behöver inga förkunskaper. Utbildningen i C# Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 3.

Hur lång tid tar lektionen ”Select, Where, OrderBy, Take/Skip”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här C# Academy-lektionen?

Ja. Varje C# Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. IEnumerable -pipelines och uppskjuten körning
  2. Select, Where, OrderBy, Take/Skip
  3. Frågesyntax och metodsyntax
← Tillbaka till C# Academy