在 C# 中,方括号运算符支持从类似字典的对象进行数组访问和键值检索。但是,这些类本身并不支持重载方括号运算符。此功能的文档列在 C# 文档中的“Item”属性下。
要在自己的类中重载方括号运算符,您可以声明一个索引器财产。索引器属性的语法为:
public type this[arglist] { get; set; }
其中:
For例如,要重载二维数组的方括号运算符,您可以按如下方式声明索引器属性:
public object this[int x, int y] { get { return array[x, y]; } set { array[x, y] = value; } }
需要注意的是,索引器当您提供无效坐标时,DataGridView 类中的内容不会引发异常。但是,可以通过在您自己的索引器属性实现中显式处理异常来覆盖此行为。
例如,如果提供的坐标无效,要抛出 ArgumentOutOfRangeException,您可以按如下方式实现索引器属性:
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; } }
以上是如何在 C# 中重载方括号运算符?的详细内容。更多信息请关注PHP中文网其他相关文章!