ส่วนขยาย Enumerable ที่สร้างเอง
สร้างเมธอดส่วนขยายที่ใช้ซ้ำได้สำหรับลำดับ
ทำงานอย่างไร
เมธอดส่วนขยายเพิ่มคำศัพท์ทางธุรกิจได้โดยยังปลอดภัยด้านชนิดข้อมูลแบบสแตติก
ที่นี่ไม่ต้องใช้ข้อจำกัด generic เพราะการทำงานต้องการแค่ IEnumerable<T>
ตัวอย่าง C# ที่รันได้
Program.cs
using System;
using System.Collections.Generic;
static class EnumerableExtensions
{
public static bool None<T>(this IEnumerable<T> source, Func<T, bool> predicate)
{
foreach (T item in source) if (predicate(item)) return false;
return true;
}
}
class Program
{
static void Main() => Console.WriteLine(new[] { 1, 3, 5 }.None(number => number % 2 == 0));
}
Trueฝึกกับดีบักเกอร์
ตั้ง breakpoint ที่การกำหนดค่าหรือเงื่อนไขสำคัญ กด Debug แล้วดูค่าตัวแปรภายในก่อนไปยังบรรทัดถัดไป
ฝึกด้วยโจทย์
ใช้สิ่งที่เรียนในบทนี้แก้ปัญหาจริง ทุกโจทย์รันในเบราว์เซอร์ พร้อมการทดสอบทันทีและรีวิวจาก AI
- ลบค่าซ้ำ เก็บไว้เฉพาะค่าที่พบครั้งแรกของแต่ละค่าเท่านั้น ง่าย
- แบ่งลิสต์เป็นช่วง ตัดรายการออกเป็นกลุ่มต่อเนื่องที่มีขนาดคงที่ โดยกลุ่มสุดท้ายอาจสั้นกว่าได้หากจำเป็น ง่าย