是的,一个类可以有多个索引器。在C#中,可以使用多个索引器来定义一个类,每个索引器具有不同的参数类型和返回类型。例如,一个类可以有一个整数索引器和一个字符串索引器,分别返回不同的数据类型。以下是一个使用多个索引器的示例:

public class MyClass
{
    private int[] myInts;
    private string[] myStrings;

    public MyClass(int[] ints, string[] strings)
    {
        myInts = ints;
        myStrings = strings;
    }

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

    public string this[string index]
    {
        get { return myStrings[Array.IndexOf(myStrings, index)]; }
        set { myStrings[Array.IndexOf(myStrings, index)] = value; }
    }
}

在上面的示例中,MyClass类有一个整数索引器和一个字符串索引器,分别使用整数和字符串作为索引。使用索引器可以像下面这样访问类的实例:

MyClass obj = new MyClass(new int[] { 1, 2, 3 }, new string[] { "one", "two", "three" });

int value1 = obj[1]; // value1 = 2

string value2 = obj["two"]; // value2 = "two"

obj[0] = 10;

obj["three"] = "THREE";
``
一个类允许有多个索引器吗

原文地址: https://www.cveoy.top/t/topic/fq3k 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录