Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah saya boleh membebankan Operator Kurung Persegi dalam C#?
Dalam C#, pengendali kurungan segiempat membolehkan akses tatasusunan dan pengambilan nilai kunci daripada objek seperti kamus. Walau bagaimanapun, kelas ini tidak menyokong pengendali kurungan segi empat yang lebih muatan. Dokumentasi untuk ciri ini disenaraikan di bawah sifat "Item" dalam dokumentasi C#.
Untuk membebankan operator kurungan segi empat sama dalam kelas anda sendiri, anda boleh mengisytiharkan pengindeks harta benda. Sintaks untuk sifat pengindeks ialah:
public type this[arglist] { get; set; }
Di mana:
Sebagai contoh, untuk membebankan operator kurungan segi empat sama untuk tatasusunan dua dimensi, anda boleh mengisytiharkan sifat pengindeks seperti berikut:
public object this[int x, int y] { get { return array[x, y]; } set { array[x, y] = value; } }
Adalah penting untuk ambil perhatian bahawa pengindeks dalam kelas DataGridView tidak membuang pengecualian apabila anda membekalkan koordinat tidak sah. Walau bagaimanapun, adalah mungkin untuk mengatasi tingkah laku ini dengan secara eksplisit mengendalikan pengecualian dalam pelaksanaan anda sendiri bagi sifat pengindeks.
Sebagai contoh, untuk membuang ArgumentOutOfRangeException jika koordinat yang dibekalkan tidak sah, anda boleh melaksanakan sifat pengindeks seperti berikut :
public object this[int x, int y] { get { if (x < 0 || x >= width) { throw new ArgumentOutOfRangeException("x"); } if (y < 0 || y >= height) { throw new ArgumentOutOfRangeException("y"); } return array[x, y]; } set { if (x < 0 || x >= width) { throw new ArgumentOutOfRangeException("x"); } if (y < 0 || y >= height) { throw new ArgumentOutOfRangeException("y"); } array[x, y] = value; } }
Atas ialah kandungan terperinci Bagaimanakah saya boleh membebankan Operator Kurung Persegi dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!