c#中的索引器和列表有什么区别?

时间:2017-12-07 09:23:43

标签: c# indexer

假设我有一个类似下面的类,如果我想添加一些类型作为列表,那么我可以这样做

    class student
    {
        public string name { get; set; }
    }
    class MainClass
    {
        static void Main()
        {
            var lists = new List<student>();
            lists.Add(new student { name = "foo" });
            lists.Add(new student { name = "mary" });
            lists.Add(new student { name = "jane" });
            lists[1].name = "moo";
        }
    }

现在,Indexer也是如此,那么我为什么要使用索引器而不是List

    class TempRecord
    {
        // Array of temperature values
        private float[] temps = new float[10];

        public float this[int index]
        {
            get
            {
                return temps[index];
            }

            set
            {
                temps[index] = value;
            }
        }
    }

    class MainClass
    {
        static void Main()
        {
            TempRecord tempRecord = new TempRecord();
            // Use the indexer's set accessor
            tempRecord[3] = 58.3F;
            tempRecord[5] = 60.1F;
        }
    }

我的问题是  1.当我们有List做同样的工作时,为什么索引器首先需要  2.使用索引器是否有任何clr优势

0 个答案:

没有答案