0Pricing
C# Academy · Lekcja

Select, Where, OrderBy, Take/Skip

Proszę filtrować za pomocą Where, przekształcać za pomocą Select, sortować za pomocą OrderBy/ThenBy oraz stronicować za pomocą Take/Skip. Proste, czytelne łańcuchy.

Select, Where, OrderBy, Take/Skip to bezpłatna lekcja C# Academy na CoddyKit. To lekcja 2 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej C# Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs C# Academy zawiera 3 lekcji w sumie.

Role operatorów

Role:

  • Where filtruje
  • Select przekształca
  • OrderBy/ThenBy sortuje
  • Take/Skip dzieli wyniki na strony

Łańcuchy powinny być krótkie i czytelne.

Filtrowanie za pomocą Where

Where zachowuje elementy spełniające warunek (predykat).

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

Projekcja za pomocą Select

Select przekształca każdy element w nową wartość (projekcja).

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

Sortowanie wyników

Należy użyć OrderBy, a następnie ThenBy w przypadku sortowania według wielu kluczy; w razie potrzeby należy dodać 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);
    }
  }
}

Stronicowanie za pomocą Take/Skip

Skip pomija elementy; Take zwraca określoną liczbę. Razem implementują stronicowanie.

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

Wskazówki dotyczące łańcuchów

Wskazówki:

  • Filtruj wcześnie za pomocą Where.
  • Projekcję wykonuj późno za pomocą Select (po filtrowaniu i sortowaniu).
  • Używaj OrderBy przed Take/Skip, aby uzyskać przewidywalne wyniki.
  • Każdy krok powinien być mały i jasno nazwany.

Nazwa operatora filtrującego

Szybkie sprawdzenie: Który operator LINQ filtruje sekwencję za pomocą predykatu?

Podsumowanie

Podsumowanie: Używaj Where do filtrowania, Select do projekcji, OrderBy/ThenBy do sortowania oraz Take/Skip do stronicowania. Potoki powinny być małe i czytelne.

Często zadawane pytania

Czy lekcja „Select, Where, OrderBy, Take/Skip” jest bezpłatna?

Tak — pełny tekst „Select, Where, OrderBy, Take/Skip” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu C# Academy, przejdź na CoddyKit PRO. Kurs C# Academy zawiera 3 lekcji w sumie.

Co nauczysz się w „Select, Where, OrderBy, Take/Skip”?

Proszę filtrować za pomocą Where, przekształcać za pomocą Select, sortować za pomocą OrderBy/ThenBy oraz stronicować za pomocą Take/Skip. Proste, czytelne łańcuchy. Ćwiczysz C# Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć C# Academy?

Nie wymagamy żadnego doświadczenia. C# Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 3.

Ile czasu zajmuje lekcja „Select, Where, OrderBy, Take/Skip”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji C# Academy?

Tak. Każda lekcja C# Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Potoki IEnumerable i odroczone wykonanie
  2. Select, Where, OrderBy, Take/Skip
  3. Składnia zapytań a składnia metod
← Powrót do C# Academy