(1)为什么我们可以使用如下代码去使用呢?
我们转到它的定义去
这是由于它写了一个索引器,所以我们能够通过下标访问
(2)我们自己也来写一个索引器,学习学习它的写法
class Program
{
static void Main(string[] args)
{
string str1 = "123";
Console.WriteLine(str1[1]);
Program p = new Program();
p[3, 4] = 5;
int i = p[3, 4];
Console.WriteLine(i);
p["hahah"] = "nihao";
string str = p["hahah"];
Console.WriteLine(str);
}
public int this[int x, int y]
{
get
{
return x + y;
}
set
{
Console.WriteLine("x=" + x + "y=" + y + "value" + value);
}
}
public string this[string str]
{
get
{
return str;
}
set
{
Console.WriteLine(str);
}
}
}
运行结果:
(3)我们通过反编译程序来查看一下索引器的本质是什么? ——方法
通过查看我们发现索引器本质也是get和set两个方法。
总结:索引器不只是数字类型,还可以是其他类型,可以拥有多个参数,索引器的本质是方法
---本博客是学习以后记录知识,如有侵权,请联系删除