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

C# で角括弧演算子をオーバーロードするにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-07 06:00:49
オリジナル
270 人が閲覧しました

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

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

角括弧演算子を使用すると、C# のクラスがそのメンバーへのインデックス付きアクセスを提供できるようになります。これにより、開発者は、配列のような構文を使用してアクセスできるカスタム コレクションまたはデータ構造を作成できます。

ドキュメント

角括弧演算子のオーバーロードについては、を参照してください。 「アイテム」のドキュメントへproperty.

実装

インデクサーをオーバーロードするには、次の構文でプロパティを宣言します。

public object this[parameters] { get; set; }
ログイン後にコピー

ここで、パラメーターは型と数値を指定します。へのアクセスに使用されるインデックスのmember.

例外処理

インデクサーは、無効なインデックスが渡されたときにオプションで例外をスローできます。無効なインデックスに対しては ArgumentOutOfRangeException をスローすることをお勧めします。

DataGridView の例

DataGridView のインデクサーは、無効な座標が指定された場合でも例外をスローしませんが、これは明示的には行われていません。ドキュメントに記載されています。

カスタム コレクション例

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

    public object this[int i]
    {
        get { return _innerList[i]; }
        set { _innerList[i] = value; }
    }
}
ログイン後にコピー

これにより、次の構文を使用して MyCollection のメンバーにアクセスできるようになります:

var collection = new MyCollection();
int item = collection[0];
ログイン後にコピー

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート