0Pricing
C# Academy · Lezione

Select, Where, OrderBy, Take/Skip

Filtrate con Where, trasformate con Select, ordinate con OrderBy/ThenBy e paginate con Take/Skip. Catene semplici e leggibili.

Select, Where, OrderBy, Take/Skip è una lezione C# Academy gratuita su CoddyKit. Questa è la lezione 2 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C# Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C# Academy include 3 lezioni in totale.

Ruoli degli operatori

Ruoli:

  • Where filtra
  • Select trasforma
  • OrderBy/ThenBy ordina
  • Take/Skip gestisce la paginazione dei risultati

Mantenga le catene brevi e leggibili.

Filtraggio con Where

Where conserva gli elementi che soddisfano una condizione (predicato).

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

Proiezione con Select

Select trasforma ogni elemento in un nuovo valore (proiezione).

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

Ordinamento dei risultati

Utilizzi OrderBy seguito da ThenBy per ordinare in base a più chiavi; aggiunga Descending quando necessario.

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

Paginazione con Take/Skip

Skip salta gli elementi; Take restituisce un numero fisso di elementi. Insieme implementano la paginazione.

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

Suggerimenti per le catene

Suggerimenti:

  • Filtri in anticipo con Where.
  • Applichi la proiezione più tardi con Select (dopo il filtraggio e l'ordinamento).
  • Utilizzi OrderBy prima di Take/Skip per ottenere risultati prevedibili.
  • Mantenga ogni passaggio piccolo e gli assegni un nome chiaro.

Nome dell'operatore di filtraggio

Controllo rapido: quale operatore LINQ filtra una sequenza in base a un predicato?

Riepilogo

Riepilogo: utilizzi Where per filtrare, Select per creare proiezioni, OrderBy/ThenBy per ordinare e Take/Skip per la paginazione. Mantenga le pipeline brevi e leggibili.

Domande Frequenti

La lezione «Select, Where, OrderBy, Take/Skip» è gratuita?

Sì — il testo completo di «Select, Where, OrderBy, Take/Skip» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C# Academy, passa a CoddyKit PRO. Il corso C# Academy include 3 lezioni in totale.

Cosa imparerò in «Select, Where, OrderBy, Take/Skip»?

Filtrate con Where, trasformate con Select, ordinate con OrderBy/ThenBy e paginate con Take/Skip. Catene semplici e leggibili. Eserciti C# Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare C# Academy?

Non è richiesta alcuna esperienza precedente. C# Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 3.

Quanto tempo richiede la lezione «Select, Where, OrderBy, Take/Skip»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione C# Academy?

Sì. Ogni lezione C# Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Pipeline IEnumerable ; esecuzione differita
  2. Select, Where, OrderBy, Take/Skip
  3. Sintassi di query e sintassi dei metodi
← Torna a C# Academy