索引器
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 "错误的序号";//提示错误 } } } } }
输出结果: