我遇到了以下代码, 我无法理解以下代码中“this”的含义。
public Return-Type this[string param1, int param2]
{
}
答案 0 :(得分:4)
它被称为indexer
。您可以阅读documentation
索引器允许对类或结构的实例进行索引,就像数组一样。索引器类似于属性,除了它们的访问器接受参数。
通常所有数组和集合都至少有一个indexer
。例如,这里是List<T>
索引器的实现:
public T this[int index] {
get {
if ((uint) index >= (uint)_size) {
ThrowHelper.ThrowArgumentOutOfRangeException();
}
Contract.EndContractBlock();
return _items[index];
}
List<T>
的内部Array
类型为T
,它的索引器会在特定索引处返回该数组的项目。