C#中索引器Indexer的学习使用

索引器 顾名思义,是用来索引的,那么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]);
           

        }

    }

猜你喜欢

转载自www.cnblogs.com/wphl-27/p/9262018.html