索引器基本概念
让类的实例对象可以像数组一样通过索引访问其中元素 使程序看起来更直观 更容易编写
cs
访问修饰符,返回值 this[参数类型 参数名,参数类型 参数名,参数类型 参数名]
{
内部的写法和规则索引器相同
get{}
set{}
}
索引器实例
cs
class Person
{
private string name;
private int age;
private Person[] friends;
private int[,] array;
public Person this[int index]//2索引器实例//4索引器内写逻辑
{
get
{
return friends[index];
}
set
{
//value代表传入的值
friends[index] = value;
}
}
public int this[int i ,int j]
{
get
{
return array[i, j];
}
set
{
array[i, j] = value;
}
}
}
索引器的使用
cs
Person p = new Person();
p[0] = new Person();
p[0]这的[0]表示调用索引器,传入参数0
=new Person()将新创建的Person对象作为值传递给索引器的set访问器中的value参数。
p[0] 在赋值号左边(如 p[0] = ...)时,调用 set 访问器,将右侧的值赋给 friends[0]。
p[0] 在表达式右边(如 Console.WriteLine(p[0]))时,调用 get 访问器,返回 friends[0]。
索引器的重载和使用
让我们以中括号的形式范围自定义类中的元素 ,规则自己定,访问时和数组一样
比较适用于 在类中有数组变量时的使用 可以方便的访问和进行逻辑处理