40、C高级语言特性:索引器与运算符重载

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> 泛型列表的示例:


                
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值