คุณสมบัติของ Generics ใน C#
Generics (เจเนอริก) ช่วยให้สามารถเขียนคลาสหรือเมธอดที่ทำงานกับชนิดข้อมูลได้หลายชนิด โดยระบุชนิดข้อมูลเมื่อใช้งานจริง (Type parameter) ซึ่งช่วยเพิ่มการนำโค้ดกลับมาใช้ใหม่ (Reusability) ความปลอดภัยของชนิด (Type safety) และประสิทธิภาพ
คุณสมบัติหลักของ Generics
- สร้างคลาสเจเนอริกที่มีข้อจำกัด (Constraints) เพื่อเข้าถึงเมธอดของชนิดข้อมูลเฉพาะ
- ใช้ Reflection เพื่อดูข้อมูลชนิดข้อมูลที่ใช้ในชนิดเจเนอริกในขณะรันไทม์
- เพิ่มการนำโค้ดกลับมาใช้ใหม่ ความปลอดภัยของชนิด และประสิทธิภาพ
- ไลบรารี .NET Framework มีคลาสคอลเลกชันเจเนอริกใน
System.Collections.Generic(เช่นList<T>,Dictionary<TKey, TValue>) ที่ควรใช้แทนคลาสในSystem.Collections - สร้างอินเทอร์เฟซ คลาส เมธอด เหตุการณ์ และดีเลเกตเจเนอริกได้เอง
ตัวอย่างการใช้ List<T>
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// List ของ int
List numbers = new List { 1, 2, 3 };
numbers.Add(4);
// List ของ string
List names = new List { "Tom", "Jerry" };
names.Add("Spike");
Console.WriteLine("Numbers: " + string.Join(", ", numbers));
Console.WriteLine("Names: " + string.Join(", ", names));
}
}
ผลลัพธ์
Numbers: 1, 2, 3, 4
Names: Tom, Jerry, Spike