C#高级语言特性:索引器与运算符重载
1. C#索引器概述
索引器是C#中一种特殊的属性,它允许对象像数组一样通过索引来访问其元素。除了使用 this 关键字外,索引器的定义看起来与普通的C#属性声明非常相似。例如:
public Person this[int index]
{
get { return (Person)arPeople[index]; }
set { arPeople.Insert(index, value); }
}
在这个例子中, get 方法负责将正确的对象返回给调用者,这里是通过委托请求给 ArrayList 对象的索引器来实现的; set 方法负责插入元素,通过调用 ArrayList 的 Insert() 方法实现。
虽然索引器是一种语法糖,因为其功能也可以通过“普通”的公共方法(如 AddPerson() 或 GetPerson() )来实现,但在自定义集合类型中支持索引器方法可以使其更好地与.NET基类库集成。
2. 使用泛型列表的索引器
在构建自定义集合时创建索引器方法很常见,但要记住,泛型类型本身就提供了索引器功能。以下是一个使用 List<Person> 泛型列表的示例:
超级会员免费看
订阅专栏 解锁全文
13

被折叠的 条评论
为什么被折叠?



