C#索引器(Indexer)

索引器(Indexer)允许一个对象可以像数组一样使用下标的方式来访问.

当为类定义一个索引器时,该类的行为就会像一个虚拟数组(virtual array) 一样.可以使用数组访问运算符[]来访问该类的成员.

语法

一维索引器的语法如下:

element-type this[int index]

{

// get 访问器

get

{

// 返回 index 指定的值

}

// set 访问器

set

{

// 设置 index 指定的值

}

}

索引器(Indexer)的用途

索引器的行为的声明在某种程度上类似于属性(Property).就像属性(property),可以使用get和set访问器来定义索引器.但是,属性返回或设置一个特定的数据成员,而索引器返回或设置对象实例的一个特定值.换句话说,它把实例数据分为更小的部分,并索引每个部分,获取或设置每个部分.

定义一个属性(property)包括提供属性名称,索引器定义的时候不带有名称,但带有this关键字,它指向对象定义.

实例演示:

重载索引器(Indexer)

索引器(Indexer)可被重载.索引器声明的时候也可带有多个参数,且每个参数可以是不同的类型.没有必要让索引器碧玺是整形的,C#允许索引器可以是其他类型,例如:字符串类型.

下面的实例演示了重载索引器:

相关推荐
yuuki23323318 分钟前
【数据结构】顺序表+回调函数
c语言·数据结构·后端
大数据张老师20 分钟前
数据结构——堆排序
数据结构·算法·排序算法
画个逗号给明天"33 分钟前
C++十大排序算法
数据结构·c++·排序算法
仰泳的熊猫38 分钟前
LeetCode:268. 丢失的数字
数据结构·c++·算法·leetcode
小龙报1 小时前
《算法通关指南数据结构和算法篇(3)--- 栈和stack》
开发语言·数据结构·c++·算法·创业创新·学习方法·visual studio
yy_xzz2 小时前
【数据结构】大话单链表
数据结构·链表
澪吟3 小时前
算法性能的核心度量:时间复杂度与空间复杂度全解析
数据结构·算法
louisdlee.3 小时前
扫描线1:朴素扫描线
数据结构·c++·算法·扫描线
仰泳的熊猫4 小时前
LeetCode:1905. 统计子岛屿
数据结构·c++·算法·leetcode
THGML4 小时前
排序算法解析
数据结构·算法·排序算法