ホームページ >バックエンド開発 >C++ >C# で角括弧演算子 (インデクサー) をオーバーロードするにはどうすればよいですか?

C# で角括弧演算子 (インデクサー) をオーバーロードするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-07 00:06:44635ブラウズ

How Can I Overload the Square-Bracket Operator (Indexer) in C#?

C# での角括弧演算子のオーバーロード

インデクサーとも呼ばれる角括弧演算子を使用すると、ユーザー定義クラスで次のことが可能になります。組み込みコレクションのように動作し、インデックスを使用して要素にアクセスできるようにします。 C# では、インデクサーは特別な名前「Item」を持つプロパティとして実装されます。

独自のクラスでインデクサーを使用するには、次の構文でプロパティを宣言する必要があります:

public object this[int x, int y] { get {...}; set {...} }

コード スニペットでは、これはクラスのインスタンスを表し、x と y はインデックスであり、get と set は、指定された場所で値を取得および設定するためのロジックを指定します。 indices.

たとえば、DataGridView クラスのインデクサーを使用すると、行と列のインデックスを指定してセルにアクセスできます。

DataGridView dgv = ...;
DataGridViewCell cell = dgv[1,5];

DataGridView の Items プロパティは、インデクサーの動作の実装を担当します。 。 DataGridView のインデクサーは例外をスローしませんが、無効な座標 (範囲外) は独自のインデクサー実装で明示的に処理する必要があることに注意することが重要です。

以上がC# で角括弧演算子 (インデクサー) をオーバーロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。