索引器
C#中提供了按照索引器进行访问的方法
定义索引器的方式:
string this[int index]
{get { return ""; }set { }}
,string为索引器的类型,[]中是参数列表。进行索引器写操作就是调用set代码块,在set内部使用value得到用户设置的值;进行读操作就执行get代码块。
索引器参数可以不止一个,类型也不限于int,几乎可以是任意类型。
namespace 索引
{
class Program
{
static void Main(string[] args)
{
Person p = new Person();
p[1] = "一洋";//给索引器1赋值
Console.WriteLine("输出p[1]值:{0},p[2]值:{1}", p[1],p[2]);//输出结果
Console.ReadKey();//按任意键退出
}
}
class Person //定义一个类
{
private string FirstName = "大洋";//定义一个 局部变量
private string SecondName = "小洋";//定义一个 局部变量
public string this[int index]//定义一个索引器,int index是接收的索引整型值。string是接收和返回的值的类型。
{
set//设置
{
if (index == 1)//判断接收的值是否等于1
{
FirstName = value;//如果等于,则将传递过来的值赋值给FirstName变量。value代表传递过来的值。
}
else if (index == 2)//判断接收的值是否等于2
{
SecondName = value;//如果等于,则将传递过来的值赋值给FirstName变量。value代表传递过来的值。
}
else
{
Console.WriteLine("错误的序号");//提示错误
}
}
get//返回
{
if (index == 1)//判断接收的值是否等于1
{
return FirstName;//如果等于,则返回
}
else if (index == 2)//判断接收的值是否等于2
{
return SecondName;//如果等于,则返回
}
else
{
return "错误的序号";//提示错误
}
}
}
}
}输出结果:
