Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Membebankan Operator Square-Bracket dalam C#?

Bagaimana untuk Membebankan Operator Square-Bracket dalam C#?

Susan Sarandon
Susan Sarandonasal
2025-01-07 06:00:49273semak imbas

How to Overload the Square-Bracket Operator in C#?

Melebihi Muatan Operator Kurung Segi Empat dalam C#

Pengendali kurungan segi empat membolehkan kelas dalam C# menyediakan akses diindeks kepada ahli mereka. Ini membolehkan pembangun membuat koleksi tersuai atau struktur data yang boleh diakses menggunakan sintaks seperti tatasusunan.

Dokumentasi

Untuk maklumat tentang melebihkan operator kurungan segi empat, rujuk kepada dokumentasi untuk "Item" harta.

Pelaksanaan

Untuk melebihkan pengindeks, isytiharkan harta dengan sintaks berikut:

public object this[parameters] { get; set; }

Di mana parameter menentukan jenis dan nombor daripada indeks yang digunakan untuk mengakses ahli.

Pengecualian Pengendalian

Pengindeks boleh secara pilihan membuang pengecualian apabila indeks tidak sah diluluskan. Adalah disyorkan untuk membuang ArgumentOutOfRangeException untuk indeks tidak sah.

Contoh DataGridView

Pengindeks untuk DataGridView tidak membuang pengecualian apabila koordinat tidak sah dibekalkan, walaupun ini tidak secara eksplisit disebut dalam dokumentasi.

Contoh Koleksi Tersuai

public class MyCollection
{
    private List<int> _innerList = new List<int>();

    public object this[int i]
    {
        get { return _innerList[i]; }
        set { _innerList[i] = value; }
    }
}

Ini membolehkan anda mengakses ahli MyCollection menggunakan sintaks berikut:

var collection = new MyCollection();
int item = collection[0];

Atas ialah kandungan terperinci Bagaimana untuk Membebankan Operator Square-Bracket dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn