1.索引器基本概念
让对象可以像数组一样通过索引访问其中元素,使程序看起来更直观,更容易编写
比较适用于 在类中有数组变量时使用 可以方便的访问和进行逻辑处理
2.索引器语法
访问修饰符 返回值 this[参数类型 参数名, 参数类型 参数名....]
{
get{}
set{}
}
class Person2
{
private string name;
private int age;
private Person2[] friends;
public Person2 this[int index]
{
get
{
return friends[index];
}
set
{
friends[index] = value;
}
}
}
3.索引器的使用
Person2 p = new Person2()
p[0] = new Person2()
Console.WriteLine(p[0])
4.索引里面可以写逻辑值
public Person2 this[int index]
{
get
{
if (friends == null)
{
return null;
}
else if (friends.Length - 1 < index)
{
return null;
}
return friends[index];
}
set
{
if (friends == null)
{
friends = new Person2[] { value };
}
else if (friends.Length -1 < index)
{
friends[friends.Length - 1] = value;
}
friends[index] = value;
}
}
5.索引器可以像函数一样重载
class Person2
{
private string name;
private int age;
private Person2[] friends;
private int[,] arr;
public int this[int i, int j]
{
get
{
return arr[i, j];
}
set
{
arr[i, j] = value;
}
}
public Person2 this[int index]
{
get
{
return friends[index];
}
set
{
friends[index] = value;
}
}
}