Rumah >pembangunan bahagian belakang >Tutorial C#.Net >Bagaimana untuk membebankan pengendali dalam C#?

Bagaimana untuk membebankan pengendali dalam C#?

王林
王林ke hadapan
2023-09-04 09:13:02980semak imbas

如何重载 C# 中的运算符?

[] pengendali dipanggil pengindeks.

Pengindeks membenarkan pengindeksan objek, seperti tatasusunan. Apabila anda mentakrifkan pengindeks untuk kelas, kelas tersebut berkelakuan seperti tatasusunan maya. Anda kemudiannya boleh mengakses kejadian kelas itu menggunakan operator akses tatasusunan ([ ]).

Penindeks boleh terlebih beban. Pengindeks juga boleh mengisytiharkan berbilang parameter, dan setiap parameter boleh terdiri daripada jenis yang berbeza. Indeks tidak semestinya harus berupa integer.

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

Output

A
B
C
D
E
F
G
H
I
J

Contoh 2

Tulis semula []

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

Output

A
B
C
C

Atas ialah kandungan terperinci Bagaimana untuk membebankan pengendali dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Artikel sebelumnya:Apakah tanda baca dalam C#?Artikel seterusnya:Apakah tanda baca dalam C#?