当一个类中包含数组成员时,索引器的使用将很大程度上简化了对类中数组成员的使用;索引器的定义类似于属性,也具有get访问器和set访问器。

[修饰符] 数据类型  this [索引类型 index]

{

  get{//返回类中数组某个元素}

  set{//对类中数组元素赋值}

}

其中,数据类型是类中要存取的数组的类型;索引类型表示该索引器使用哪一个类型的索引来存取数组元素,可以是整型;也可以是字符串类型;this则表示所操作的是类对象的数组成员,可以把它理解为索引器的名字(注意:索引器不能自定义名称)。下面的代码演示了索引器的定义过程:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Indexer
{public class Index{private int[] intArray = new int[10];public int this[int index]{get{return intArray[index];}set{intArray[index] = value;}}}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Indexer
{class Program{static void Main(string[] args){Index index = new Index();//为数组赋值for (int i = 0; i < 10; i++){index[i] = i;}//获取数组中的值for (int i = 0; i < 10; i++){if (i <= 8){Console.Write(index[i] + ",");}else{Console.Write(index[i]);}}Console.ReadKey();}}
}

打印结果:

转载于:https://www.cnblogs.com/QingYiShouJiuRen/p/11078813.html

C#中索引器的简单使用相关推荐

  1. 2021-05-16 C#.NET面试题 C#中索引器的实现过程,是否只能根据数字进行索引,请描述一下

    C#中索引器的实现过程,是否只能根据数字进行索引,请描述一下 C#通过提供索引器,可以象处理数组一样处理对象.特别是属性,每一个元素都以一个get或set方法暴露.索引器不单能索引数字(数组下标),还 ...

  2. c#中索引器是什么_C#中的索引器

    c#中索引器是什么 An Indexer is a special feature of C# to use an object as an array. If you define an index ...

  3. Asp.Net中索引器的介绍

    一.索引器特性 1.get 访问器返回值.set 访问器分配值. 2.this 关键字用于定义索引器. 3.value 关键字用于定义由 set 索引器分配的值. 4.索引器不必根据整数值进行索引,由 ...

  4. C# 索引器的简单例子

    这个例子是使用索引器简单模仿一个string数组. 因为索引器本身就比较像数组,下面是关于索引器的概述: 索引器使得对象可按照与数组相似的方法进行索引. get 访问器返回值.set 访问器分配值. ...

  5. C#索引器与属性的区别、索引器的具体使用

    C#中索引器和属性类似,但也有一些区别: a.    属性可以调用方法就如同他们是公共数据成员,而索引器可以调用对象上得方法,如同对象是一个数组. b.    属性可以通过简单的名称访问, 而索引器需 ...

  6. C#索引器的实现、索引器和属性的异同对比,这些技能你get到了嘛?

    目录 什么是索引器? 如何声明索引器? 索引器和属性的异同对比 索引器实例分析 Hello!大家好,我是努力赚钱买生发水的灰小猿! 最近在用C#做开发的时候要用到索引函数,所以今天就在这里和小伙伴记录 ...

  7. .Net学习难点讨论系列16 - 索引器

    索引器是一个我们经常打交道的特性,在编程过程中,多多少少都会用到索引器.而关于索引器一些高级话题,如给自定义的类添加索引器等也是本文着重介绍的.索引器本质上是一组get和set访问器, []中提供的是 ...

  8. 第一篇 .NET高级技术之索引器

    第一篇 .NET高级技术之索引器 基础知识补充 索引 器 没有名字 ,索引器的内部本质 (ILSpy的IL模式下看)类型 this[参数]{get;set;} 可以是只读或者只写(在get或者set前 ...

  9. ts(typescript)面向对象之索引器

    索引器 这个概念不是typescript 中提出的,而是c#中提出的 什么是索引器 我们都知道,ts 中 获取对象中的属性有好多种方式 通过点的方式来进行获取 通过属性表达式的方式进行获取 通过获取对 ...

  10. java类中定义索引器,C#面向对象基础——字段、属性和索引器

    关于面向对象编程,在很多语言里面都出现过,最常用的如java和c++, C#语言关于面向对象编程的规范,我觉得介于上面两者之间,我的理解是它比较偏向c++,或许是因为跟它的析构函数有关系,像java有 ...

最新文章

  1. node.js cannot find module
  2. linux 更改文件所有者
  3. SynchronousQueue队列
  4. 【重磅发布】最风骚的走位,最撩人的峰会,裂变!变!变!变!变!变!抢!...
  5. Java基础篇:Iterator迭代器
  6. 模拟Struts2实现
  7. 【Kafka】Confluent Schema Registry
  8. Android 自定义ListView控件,滑动删除
  9. Eclipse启动Tomcat时,45秒超时解决方案
  10. 41.Linux/Unix 系统编程手册(下) -- 共享库基础
  11. 2021-07-05 页面的生命周期
  12. 利用神经网络来计算XOR
  13. UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xb5 in position 2: invalid start byte
  14. fatal error C1189
  15. 5g网络技术目前怎么样?5g网络什么时候出?
  16. mysql复制不了的文字怎么办_网页上的文字不能复制怎么办?
  17. 计算机网络ospf实验报告,计算机网络实验报告 12_OSPF实验.doc
  18. 嵌入式闪存您了解多少?
  19. 20220124英语学习
  20. 74LS161计数器(多位数码管显示)

热门文章

  1. 每天一点Linux --- 在Linux终端下调用当前目录下的可执行文件时需要加上./的原因...
  2. 浏览器兼容之旅的第二站:各浏览器的Hack写法
  3. clone ubuntu 启动不能启动网卡
  4. 学完Linux之后学什么语言,学习C语言一段时间后我们能做什么?
  5. android实现qq登录功能实现原理,Android实现QQ登录功能
  6. python面值组合_算法题 - 拼凑面额 - Python
  7. linux rpm安装mysql5.7.*密码策略,访问策略等常见问题
  8. 【渝粤教育】广东开放大学 企业文化学 形成性考核 (57)
  9. 2020北理工夏令营机试
  10. 目前选择四核处理器移动平台,是最佳时机吗?