在之前的数组操作中,相信大家都发现了数组的访问通过了一个中括号和下标的方式进行访问,这个东西我们称为索引器。但是在类中的索引器可以以任何类型作为索引的key,这使得整个类的拓展性变得很好。
如何去定义一个索引器呢?这里就需要用到我们的this关键字了。定义的方式有点类似我们对于属性的定义
public class A { public double[] arry{get;set;} public double this [int index] { get { return arry[index]; } set { arry[index] = value; } } }通过索引器,我们可以自己定义各种不同的索引方式,而不用拘泥于下标访问
习题1.请问下列代码输出什么?为什么?
class A { public static A a = new A(); public static int X = 3(); A() { Console.WriteLine(X); } } class Program { static void Main() { Console.WriteLine(A.X); } }2.试着使用索引器,写出一个二维数组的索引访问,要求实现倒序访问(即a[0]访问最后一位)