[] 演算子はインデクサーと呼ばれます。
インデクサーを使用すると、配列などのオブジェクトのインデックスを作成できます。クラスのインデクサーを定義すると、クラスは仮想配列のように動作します。その後、配列アクセス演算子 ([ ]) を使用して、そのクラスのインスタンスにアクセスできます。
インデクサーは過負荷になる可能性があります。インデクサーは複数のパラメーターを宣言することもでき、各パラメーターは異なる型にすることもできます。インデックスは必ずしも整数である必要はありません。
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
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
以上がC# で演算子をオーバーロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。