当前位置:首页>综合>正文

C#中的索引器和数组有什么不同?

2023-05-22 21:57:01 互联网 未知 综合

 C#中的索引器和数组有什么不同?

C#中的索引器和数组有什么不同?

一般来讲,实现了索引器的类都是集合类或包含有集合类。索引器可以让你方便的引用这个集合中的数据。
索引器无需声明,在声明了索引器的类上可以直接使用。
索引器跟数组的区别主要在
1. 索引器的索引值(Index)类型不一定为整数
用来访问数组的索引值(Index),其类型一定为整数,然而索引器可以定义其他类型的索引值。
2. 索引器允许重载(Overloading)
一个类并不限制只能够定义一个索引器,只要索引器的函数签名不同,一个类就可以拥有很多个索引器,你可以重载它的功能。
3. 索引器不是一个变量
索引和数组不同的地方在于,索引器并没有直接对应引用数据存储的地方,而数组则有。索引器有get访问器与set访问器,用来指明要读取或写入索引器元素时,需要执行的代码。
在你的例子中,MyClass 内部有一个int数组或集合,你使用的索引实际上是去引用了内部集合类的。