c#中的索引器

索引器属性  允许如对待数组 一样对待对象 ,允许类的客户代码 能在对象中进行索引,就好像对象是一个数组一样

C#代码 
  1. namespace test  
  2. {  
  3.     class MyList  
  4.     {  
  5.         protected ArrayList data = new ArrayList();  
  6.         public object this[int index]  
  7.         {  
  8.             get  
  9.             {  
  10.                 if (index > -1 && index < data.Count)  
  11.                 {  
  12.                     return (data[index]);  
  13.                 }  
  14.                 else  
  15.                 {  
  16.                     return null;  
  17.                 }  
  18.             }  
  19.             set  
  20.             {  
  21.                 if (index > -1 && index < data.Count)  
  22.                 {  
  23.                     data[index] = value;  
  24.                 }  
  25.                 else if (index == data.Count)  
  26.                 {  
  27.                     data.Add(value);  
  28.                 }  
  29.   
  30.             }  
  31.         }  
  32.     }  
  33.     class Program  
  34.     {  
  35.         static void Main(string[] args)  
  36.         {  
  37.             MyList l = new MyList();  
  38.             l[0] = "foo";  
  39.             l[1] = "aa";  
  40.             l[2] = "bb";  
  41.             Console.WriteLine("{0} {1} {2}",l[0],l[1],l[2]);  
  42.             Console.ReadKey();  
  43.         }  
  44.     }  
  45. }  
索引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数组的值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值