ตัวดำเนินการ [] เรียกว่าตัวสร้างดัชนี
ตัวทำดัชนีอนุญาตให้สร้างดัชนีวัตถุเช่นอาร์เรย์ เมื่อคุณกำหนดตัวสร้างดัชนีสำหรับคลาส คลาสนี้จะทำงานคล้ายกับอาร์เรย์เสมือน จากนั้นคุณสามารถเข้าถึงอินสแตนซ์ของคลาสนี้โดยใช้โอเปอเรเตอร์การเข้าถึงอาร์เรย์ ([ ])
ตัวสร้างดัชนีสามารถโอเวอร์โหลดได้ นอกจากนี้ยังสามารถประกาศตัวสร้างดัชนีด้วยพารามิเตอร์หลายตัวและแต่ละพารามิเตอร์อาจเป็นประเภทที่แตกต่างกัน ไม่จำเป็นที่ดัชนีต้องเป็นจำนวนเต็ม
ตัวอย่างที่ 1
static void Main(string[] args){ IndexerClass Team = new IndexerClass(); Team[0] = "A"; Team[1] = "B"; Team[2] = "C"; Team[3] = "D"; Team[4] = "E"; Team[5] = "F"; Team[6] = "G"; Team[7] = "H"; Team[8] = "I"; Team[9] = "J"; for (int i = 0; i < 10; i++){ Console.WriteLine(Team[i]); } Console.ReadLine(); } class IndexerClass{ private string[] names = new string[10]; public string this[int i]{ get{ return names[i]; } set { names[i] = value; } } }
ผลลัพธ์
A B C D E F G H I J
ตัวอย่างที่ 2
การเอาชนะ []
static class Program{ static void Main(string[] args){ IndexerClass Team = new IndexerClass(); Team[0] = "A"; Team[1] = "B"; Team[2] = "C"; for (int i = 0; i < 10; i++){ Console.WriteLine(Team[i]); } System.Console.WriteLine(Team["C"]); Console.ReadLine(); } } class IndexerClass{ private string[] names = new string[10]; public string this[int i]{ get{ return names[i]; } set{ names[i] = value; } } public string this[string i]{ get{ return names.Where(x => x == i).FirstOrDefault(); } } }
ผลลัพธ์
A B C C