1. 概念
索引器(Indexer)是C#引入的一个新型的类成员,它使得对象可以像数组那样被方便,直观的引用。它类型于类中的属性,但索引器可以有参数列表,而且只能作用在实例的对象上,不能在类上直接作用。看下面的例子:
using System;
namespace test
{
internal class Program
{
private static void Main(string[] args)
{
var sample = new SampleCollection();
sample[0] = "wander";
sample[1] = "mavis";
Console.WriteLine(sample[0] + "\t" + sample[1]);
Console.ReadKey();
}
}
internal class SampleCollection
{
private string[] arr = new string[100];
public string this[int i]
{
get
{
return arr[i];
}
set
{
arr[i] = value;
}
}
}
}
2. 特点
索引器使得对象可按照与数组相似的方法进行索引;
get访问器返回值。set访问器分配值;
this关键字用于定义索引器;
value关键字用于定义由set索引器分配的值;
索引器可以被重载;
形参的个数和类型都是任意的;