0Pricing
C# Academy · บทเรียน

Select, Where, OrderBy, Take/Skip

กรองด้วย Where แปลงข้อมูลด้วย Select เรียงลำดับด้วย OrderBy/ThenBy และแบ่งหน้าด้วย Take/Skip เรียนรู้การเขียนสายคำสั่งที่เรียบง่ายและอ่านง่าย

Select, Where, OrderBy, Take/Skip เป็นบทเรียน C# Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C# Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C# Academy มีบทเรียนทั้งหมด 3 บทเรียน

บทบาทของตัวดำเนินการ

บทบาท:

  • Where ใช้กรองข้อมูล
  • Select ใช้แปลงข้อมูล
  • OrderBy/ThenBy ใช้เรียงลำดับ
  • Take/Skip ใช้แบ่งหน้าผลลัพธ์

ทำให้ห่วงโซ่สั้นและอ่านเข้าใจง่าย

การกรองด้วย Where

Where จะเก็บรายการที่ตรงตามเงื่อนไข

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

การแปลงข้อมูลด้วย Select

Select จะแปลงสมาชิกแต่ละรายการเป็นค่าใหม่ (การแปลงรูปข้อมูล)

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

การเรียงลำดับผลลัพธ์

ใช้ OrderBy แล้วตามด้วย ThenBy สำหรับการเรียงลำดับด้วยหลายคีย์ และเพิ่มการเรียงจากมากไปน้อยเมื่อจำเป็น

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

การแบ่งหน้าด้วย Take/Skip

Skip จะข้ามรายการไป ส่วน Take จะส่งคืนจำนวนรายการที่กำหนด เมื่อนำมาใช้ร่วมกันจะช่วยจัดการการแบ่งหน้า

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

เคล็ดลับการเชื่อมต่อ

เคล็ดลับ:

  • กรองข้อมูลตั้งแต่ต้นด้วย Where
  • แปลงข้อมูลในช่วงท้ายด้วย Select (หลังจากกรองและเรียงลำดับแล้ว)
  • ใช้ OrderBy ก่อน Take/Skip เพื่อให้ได้ผลลัพธ์ที่คาดเดาได้
  • ทำให้แต่ละขั้นตอนมีขนาดเล็กและตั้งชื่อให้ชัดเจน

ชื่อตัวดำเนินการสำหรับการกรอง

ตรวจสอบสั้น ๆ: ตัวดำเนินการ LINQ ใดใช้กรองลำดับข้อมูลตามเงื่อนไข

สรุป

สรุป: ใช้ Where เพื่อกรองข้อมูล ใช้ Select เพื่อแปลงข้อมูล ใช้ OrderBy/ThenBy เพื่อเรียงลำดับ และใช้ Take/Skip เพื่อแบ่งหน้า ทำให้ไปป์ไลน์มีขนาดเล็กและอ่านเข้าใจง่าย

คำถามที่พบบ่อย

บทเรียน “Select, Where, OrderBy, Take/Skip” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “Select, Where, OrderBy, Take/Skip” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C# Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C# Academy มีบทเรียนทั้งหมด 3 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “Select, Where, OrderBy, Take/Skip”

กรองด้วย Where แปลงข้อมูลด้วย Select เรียงลำดับด้วย OrderBy/ThenBy และแบ่งหน้าด้วย Take/Skip เรียนรู้การเขียนสายคำสั่งที่เรียบง่ายและอ่านง่าย คุณปฏิบัติ C# Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C# Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน C# Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 3 บทเรียน

บทเรียน “Select, Where, OrderBy, Take/Skip” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน C# Academy นี้ได้ไหม

ได้ บทเรียน C# Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ไปป์ไลน์ IEnumerable และการทำงานแบบเลื่อนเวลา
  2. Select, Where, OrderBy, Take/Skip
  3. ไวยากรณ์แบบคิวรีเทียบกับแบบเมธอด
← กลับไปที่ C# Academy