C# 中的索引器(Indexer)是一种特殊的属性,它允许对象像数组一样通过索引来访问其元素。索引器可以用于访问类、结构体或接口中的元素,使得对象可以像数组一样进行索引操作。
可以通过任意类型进行索引。

索引器的实现过程如下:

  1. 类或结构体中定义一个索引器。索引器的定义类似于属性,但使用this关键字和方括号来指定索引参数。例如,。public int this[int index] { get { ... } set { ... } }
  2. 在索引器的get和set访问器中,根据传入的索引参数来获取或设置相应的元素。可以根据需要在访问器中添加逻辑来处理索引操作。
  3. 可以根据需要定义多个索引器,每个索引器可以有不同的参数类型和个数。

索引器不仅限于使用数字索引,还可以使用其他类型的索引参数。例如,可以使用字符串作为索引参数来访问字典中的元素。

                                                                                    下面是一个示例代码,演示了如何实现一个简单的索引器:

public class MyCollection
{
    private string[] data = new string[10];

    public string this[int index]
    {
        get { return data[index]; }
        set { data[index] = value; }
    }
}

public class Program
{
    static void Main(string[] args)
    {
        MyCollection collection = new MyCollection();
        collection[0] = "Hello";
        collection[1] = "World";

        Console.WriteLine(collection[0]);  // 输出:Hello
        Console.WriteLine(collection[1]);  // 输出:World
    }
}

在上面的示例中,MyCollection 类实现了一个索引器,可以通过整数索引来访问内部的字符串数组。在 Main 方法中,我们创建了一个 MyCollection 对象,并使用索引器设置和获取元素的值。

05-05 02:15