c#属性和索引

    在c#中,属性很好理解,一个属性就是一个成员,这个成员可以访问对象或类的字段。属性与域不同,属性并不表示存储地址,但属性具有访问函数。总的来说,属性是针对类或对象的某个成员变量进行操作,举例说明:假设有一个班级,那么这个班级的名称、学生总人数等都是这个班级的属性,用代码表示如下:

     

    索引也是类的一个成员,它使得一个对象能够以与数组相同的方式进行访问,属性具有与域相似的访问,索引则具有与数组相似的访问。但是索引与数组不同的是,索引可以访问的是所有继承Array类的对象,也就是说,凡是一个类或对象中有链表结构的成员是,均可以通过索引的方式来进行对这些对象的访问。例如在上例中,一个班级中有很多学生,每个学生都有学号,当希望通过学生学号进行这个学生的访问时,就可以使用索引的方式,代码如下:

     

    当我再次需要访问班级中某个学生的信息时,就可以直接通过索引器实现。

    总结:可以这么理解,属性就是对某个对象或类中的某种类型的成员变量进行的存取操作的类成员,而索引则是对某个对象或类中的某个在内存中使用链表结构存储的成员变量进行锁定并进行存取操作的类成员。

    在这里,有人不禁要生疑了,当类的成员变量为单项链表或双向链表进行存储时,如何使用索引器进行操作?这里,我们只需要直接调取该对象自身的赋值和取值操作即可,详细信息见本博客记录单项链表或双向链表实现的文章:

    单向链表:http://blog.csdn.net/luxin10/archive/2010/12/10/6067863.aspx

    双向链表:http://blog.csdn.net/luxin10/archive/2010/12/31/6109068.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值