Heim > Backend-Entwicklung > C++ > Wie überlade ich den Operator für eckige Klammern in C#?

Wie überlade ich den Operator für eckige Klammern in C#?

Susan Sarandon
Freigeben: 2025-01-07 06:00:49
Original
321 Leute haben es durchsucht

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

Überladen des Operators für eckige Klammern in C#

Der Operator für eckige Klammern ermöglicht es Klassen in C#, ihren Mitgliedern indizierten Zugriff zu gewähren. Dadurch können Entwickler benutzerdefinierte Sammlungen oder Datenstrukturen erstellen, auf die mithilfe einer Array-ähnlichen Syntax zugegriffen werden kann.

Dokumentation

Informationen zum Überladen des Operators in eckigen Klammern finden Sie unter zur Dokumentation zum „Artikel“ Eigenschaft.

Implementierung

Um den Indexer zu überladen, deklarieren Sie eine Eigenschaft mit der folgenden Syntax:

public object this[parameters] { get; set; }
Nach dem Login kopieren

Wobei Parameter den Typ und die Nummer angeben der Indizes, die für den Zugriff auf das Mitglied verwendet werden.

Ausnahme Behandlung

Der Indexer kann optional Ausnahmen auslösen, wenn ein ungültiger Index übergeben wird. Es wird empfohlen, eine ArgumentOutOfRangeException für ungültige Indizes auszulösen.

DataGridView-Beispiel

Der Indexer für DataGridView löst keine Ausnahmen aus, wenn ungültige Koordinaten angegeben werden, obwohl dies nicht explizit geschieht in der Dokumentation erwähnt.

Benutzerdefinierte Sammlung Beispiel

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

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

Damit können Sie mit der folgenden Syntax auf Mitglieder von MyCollection zugreifen:

var collection = new MyCollection();
int item = collection[0];
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie überlade ich den Operator für eckige Klammern in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage