C# 中的索引器(Indexer)允许你通过类的实例使用类似数组的语法来访问对象的元素。索引器允许类的实例像数组一样进行索引,但是它们可以定义自己的索引规则。索引器在类中使用 this 关键字定义,并且可以具有一个或多个参数,用于指定索引的位置。

下面是一个简单的例子,演示如何在C#中使用索引器:
using System;

class MyCollection
{
    private string[] data = new string[5];

    // 定义索引器
    public string this[int index]
    {
        get
        {
            if (index >= 0 && index < data.Length)
                return data[index];
            else
                return "Index out of bounds";
        }
        set
        {
            if (index >= 0 && index < data.Length)
                data[index] = value;
            else
                Console.WriteLine("Index out of bounds");
        }
    }
}

class Program
{
    static void Main()
    {
        MyCollection collection = new MyCollection();

        // 使用索引器设置值
        collection[0] = "Item 1";
        collection[1] = "Item 2";
        collection[2] = "Item 3";

        // 使用索引器获取值
        Console.WriteLine(collection[0]); // 输出:Item 1
        Console.WriteLine(collection[1]); // 输出:Item 2
        Console.WriteLine(collection[5]); // 输出:Index out of bounds
    }
}

在这个例子中,MyCollection 类包含一个名为 data 的私有字符串数组,然后定义了一个索引器,使用 this 关键字以及一个整数参数来实现。这个索引器允许通过类的实例使用 collection[index] 的语法来访问和设置数组中的元素。

需要注意的是,索引器可以有多个参数,这取决于你的需求。在上面的例子中,我们只使用了一个整数参数,但你可以定义多个参数来满足不同的索引规则。


转载请注明出处:http://www.zyzy.cn/article/detail/14771/C#