索引器
索引器是一组get和set访问器,与属性类似。如下展示了一个类的索引器的表现形式,该类可以回去和设置string型值。
string this[int index]{
set{
SetAccessorCode
}
get{
GetAccessorCode
}
}
索引器和属性:
1.索引器和属性一样,索引器不用分配内存来存储。
2.索引器和属性都主要用来访问其他数据成员,它们与这些成员关联,并为它们提供获取和设置访问。
3.索引器总是实例成员,所以不能声明为static。
声明索引器:
1.索引器没有名称。在名称的位置是关键字this。
2.参数列表在方括号中间。
3.参数列表中必须至少声明一个参数。
ReturnType this [Type param1 ,...]{
get{}
set{}
}
例:
Class myclass{
public string lastname;
public string firstname;
public string cityofbirth;
public string this[int index]{
set{
switch (index){
case 0:lastname=value;
break;
case 1:firstname=value;
break;
case 2:cityofbirth=value;
break;
default:
throw new ArgumentOutOfRangeException("index");
}
get{
switch (index){
case 0: return lastname;
case 1: return firstname;
case 2: return cityofbirth;
default:
throw new ArgumentOutOfRangeException("index");
}
}
}
}
}