using System;
namespace _022_索引器的重载
{
    public class IndexClass
    {
        public static int size = 5;
        private string[] stringArray = new string[size];
        public IndexClass()
        {
            for (int i = 0; i < size; i++)
            {
                stringArray[i] = "null";
            }
        }
        public string this[int index]
        {
            get
            {
                string temp;
                if(index>=0&&index<=size-1)
                {
                    temp = stringArray[index];
                }
                else
                {
                    temp = "";
                }
                return temp;
            }
            set
            {
                if (index >= 0 && index <= size - 1)
                {
                    stringArray[index] = value;
                }
            }
        }
        public int this[string str]
        {
            get//这里重载就只有只读功能了
            {
                int index = 0;
                while(index<size)
                {
                    if(stringArray[index]==str)
                    {
                        return index;
                    }
                    index++;
                }
                return index;
            }
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            IndexClass indexClass = new IndexClass();
            indexClass[0] = "a";
            indexClass[1] = "b";
            indexClass[2] = "c";
            indexClass[3] = "d";
            indexClass[4] = "e";
            for (int i = 0; i < IndexClass.size; i++)
            {
                Console.WriteLine(indexClass[i]);
            }
            Console.WriteLine("该元素在第"+(indexClass["c"]+1)+"个位置");
        }
                    
                
                
            
        
浙公网安备 33010602011771号