您现在的位置是:首页 > 综合精选网站首页综合精选

索引器是什么意思(索引器)

  • 综合精选
  • 2023-11-15 06:04:13
  • 来源:
导读 大家好,我是小业,我来为大家解答以上问题。索引器是什么意思,索引器很多人还不知道,现在让我们一起来看看吧!1、索引器允许类或结构的

大家好,我是小业,我来为大家解答以上问题。索引器是什么意思,索引器很多人还不知道,现在让我们一起来看看吧!

1、索引器允许类或结构的实例按照与数组相同的方式进行索引。索引器类似于属性,不同之处在于它们的访问器采用参数。它可以使得像数组那样对对象使用下标。它提供了通过索引方式方便地访问类的数据信息的方法。

2、要声明类或结构上的索引器,请使用this关键字,例如:

3、publicintthis[intindex]//声明索引器

4、{

5、//getandset访问

6、}

7、索引器的修饰符有:new、public、protected、internal、private、virtual、sealed、override、abstract和extern。当索引器声明包含extern修饰符时,称该索引器为外部索引器。因为外部索引器声明不提供任何实际的实现,所以它的每个访问器声明都由一个分号组成。

8、索引器的签名由其形参的数量和类型组成。它不包括索引器类型或形参名。如果在同一类中声明一个以上的索引器,则它们必须具有不同的签名。

9、索引器值不归类为变量;因此,不能将索引器值作为ref或out参数来传递。

10、下面用一个例子来说明如何声明和使用索引器。

11、在本示例中,定义了一个泛型类,并为其提供了简单的get和set访问器方法(作为分配和检索值的方法)。Program类为存储字符串创建了此类的一个实例。代码如下:

12、classSampleCollection<T>

13、{

14、privateT[]arr=newT[100];

15、publicTthis[inti]

16、{

17、get

18、{

19、returnarr[i];

20、}

21、set

22、{

23、arr[i]=value;

24、}

25、}

26、}

27、下面是如何使用上述代码实现的索引器,具体代码示例如下:

28、classProgram

29、{

30、staticvoidMain(string[]args)

31、{

32、SampleCollection<string>锁=newSampleCollection<string>();

33、s[0]="索引器的使用";

34、System.Console.WriteLine(锁[0]);

35、}

36、}

37、C#并不将索引类型限制为整数。例如,对索引器使用字符串可能是有用的。通过搜索集合内的字符串并返回相应的值,可以实现此类的索引器。由于访问器可被重载,字符串和整数版本可以共存。

本文到此讲解完毕了,希望对大家有帮助。

免责声明:本文由用户上传,如有侵权请联系删除!
Top