小编典典

如何在C#中重载方括号运算符?

c#

例如,DataGridView允许您执行以下操作:

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

但是对于我来说,我找不到索引/方括号运算符的文档。他们怎么称呼它?在哪里实施?能扔吗?我如何在自己的课堂上做同样的事情?

预计到达时间:感谢您提供的所有快速解答。简要地说:相关文档在“项目”属性下;重载的方法是通过声明一个类似的属性public object this[int x, int y]{ get{...}; set{...} };
至少根据文档,DataGridView的索引器不会抛出。它没有提到如果您提供无效的坐标会发生什么。

再次ETA:好的,即使文档中没有提及它(顽皮的Microsoft!),事实证明,如果为DataGridView的索引器提供无效的坐标,则实际上它会抛出ArgumentOutOfRangeException。公平警告。


阅读 1271

收藏
2020-05-19

共1个答案

小编典典

您可以在这里找到操作方法。简而言之是:

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

如果您只需要一个吸气剂,那么下面的答案中的语法也可以使用(从C#6开始)。

2020-05-19