索引提供[ ] 类的语法
总是一个实例成员,可以是虚拟的
没有ref/out 参数
struct StringSection
{
...
public char this [int at]
{
...
}
...
}
StringSection cord("csharp", 2, 6);
...
char first = cord[0]; // 'h'
...
Console.WriteLine(cord); // harp
索引的声明包括:可选的访问修饰符(例子中是public),返回值的类型(char),关键字this(不能省略),和函数参数类似的参数(不过是方括号,而不是函数的圆括号),然后是索引体。你不能使用静态索引,所以你不能在索引的声明中使用static关键字。
索引可以被声明为虚拟的,因此它可以在它的派生类中被重载。
索引的参数不能使用ref/out型参数。例如:
struct StringSection
{
public char this [ref int at]//错误
...
}