索引器 顾名思义,是用来索引的,那么C#中索引器是用来索引什么的呢
首先我们知道,C#中的数组是本身就可以索引的,那么C#中的类和结构呢,类和结构的实例是无法索引的,如果我们想让C#中类或者结构的实例也可以像数组一样进行索引,这个就是需要索引器了。这也就是索引器的作用
索引器允许类或者结构的实例按照与数组相同的方式进行索引. 注意,是类或者结构的实例, 所以索引器不能用static来声明,索引器永远属于实例成员,因此不能声明为static
举个简单的类子
/// <summary> /// 简单的索引器例子 /// </summary> public class SimpleIndexExample { private string[] name = new string[2]; //索引器必须以this关键字来定义,索引器中的this其实就是类实例化之后的对象,这是正确的理解方式 public string this[int index] { get { return name[index]; } set { name[index] = value; } } } public class Program { static void Main(string[] args) { //索引器SimpleIndexExample的使用 SimpleIndexExample myIndex = new SimpleIndexExample(); //对索引器赋值 myIndex[0] = "Luke"; myIndex[1] = "Mike"; //输出索引器的值 Console.WriteLine(myIndex[0]); Console.WriteLine(myIndex[1]); } }