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 เพื่อให้ได้ผลลัพธ์ที่คาดเดาได้
- ทำให้แต่ละขั้นตอนมีขนาดเล็กและตั้งชื่อให้ชัดเจน
ชื่อตัวดำเนินการสำหรับการกรอง
สรุป
สรุป: ใช้ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ไปป์ไลน์ IEnumerable และการทำงานแบบเลื่อนเวลา
- Select, Where, OrderBy, Take/Skip
- ไวยากรณ์แบบคิวรีเทียบกับแบบเมธอด