.net高级技术——索引器的学习

(1)为什么我们可以使用如下代码去使用呢?

我们转到它的定义去

这是由于它写了一个索引器,所以我们能够通过下标访问

(2)我们自己也来写一个索引器,学习学习它的写法

class Program
    {
        static void Main(string[] args)
        {

            string str1 = "123";
            Console.WriteLine(str1[1]);
            Program p = new Program();
            p[3, 4] = 5;
            int i = p[3, 4];
            Console.WriteLine(i);
            p["hahah"] = "nihao";
            string str = p["hahah"];
            Console.WriteLine(str);

        }
        public int this[int x, int y]
        {
            get
            {
                return x + y;
            }
            set
            {
                Console.WriteLine("x=" + x + "y=" + y + "value" + value);
            }
        }
        public string this[string str]
        {
            get
            {
                return str;
            }
            set
            {
                Console.WriteLine(str);
            }
        }

    }

运行结果:

(3)我们通过反编译程序来查看一下索引器的本质是什么? ——方法

通过查看我们发现索引器本质也是get和set两个方法。

总结:索引器不只是数字类型,还可以是其他类型,可以拥有多个参数,索引器的本质是方法

---本博客是学习以后记录知识,如有侵权,请联系删除

Guess you like

Origin blog.csdn.net/qq_33407246/article/details/88768745