C#中的索引器

本文介绍了C#中的索引器概念,它允许类或结构像数组一样被索引。常见于封装内部集合或数组的类型中,通过索引器可以更方便地访问对象的数据。文章详细讲解了索引器的用处、语法结构,并通过与属性的比较,阐述了它们的异同点。
摘要由CSDN通过智能技术生成

  最近看面试题也好,敲手头书上的例子也好,都让我看到了索引器这个概念,原来没有接触过,今天就来看看什么是C#中的索引器

索引器允许类或结构的实例就像数组一样进行索引。
索引器类似于属性,不同之处在于他们的取值函数采用参数

用在哪里

  索引器经常是在主要用于封装内部集合或数组的类型中实现的。假如,假定具有一个名为TempRecord的类,此类表示在24小时内的10个不同时间记录的华氏温度。此类包含一个表示温度的Float类型的名为“temps”的数组和表示记录温度的日期的DateTime

  通过在此类中实现一个索引器,客户端可以通过float temp=tr[4]而不是float temp=tr.temps[4]语法访问此类实例出对象的温度

语法结构:声明类或结构上的索引器,要使用this关键字

//[修饰符] 数据类型 this[索引类型 index]
{
    get{
  //获得属性的代码}  
    
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
索引(Indexer)是C#一种特殊的属性(Property),可以通过似于数组下标的形式来访问的数据成员。其实现过程如下: 1. 在定义索引:在定义一个带有get和set方法的索引,用于获取和设置索引对应的值。索引的定义似于属性的定义,但是使用this关键字来指定索引。 2. 实现索引的get和set方法:在索引的get和set方法,根据索引值进行相应的操作。可以将索引值作为参数传入get和set方法,并使用该索引值来操作的数据成员。 3. 使用索引:通过似于数组下标的形式来访问的数据成员。可以使用的实例来访问索引,并传入相应的索引值来获取或设置对应的值。 下面是一个使用索引的示例代码: ```csharp class MyClass { private int[] data = new int[10]; // 索引,用于访问data数组 public int this[int index] { get { return data[index]; } set { data[index] = value; } } } class Program { static void Main(string[] args) { MyClass myClass = new MyClass(); // 使用索引设置数值 myClass[0] = 1; myClass[1] = 2; myClass[2] = 3; // 使用索引获取数值 int value1 = myClass[0]; int value2 = myClass[1]; int value3 = myClass[2]; } } ``` 在上述代码,定义了一个名为MyClass的,其包含一个名为data的数组私有成员。通过定义一个索引来访问该数组。在程序,通过实例化MyClass的对象,使用索引来设置和获取data数组的值。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值