索引函数

C# 提供了索引函数机制来提供快速、可读性强的读写方式。索引函数的语法是:

public <type> this[<index type> <paramter name>]

{

// get 和 set 至少有一个

get {

// get 访问函数的定义

}

set {

// set 访问函数的定义

}

}

例子,如果有一个类型是 Person , 而 Person 的字段有姓名,年龄,联系方式,而且它们都是以 string 类型来存储的。则可以把这些条目名作为索引:

        public class Person
        {
            private string name;
            private string phone;
            private string age; 
 
            public string this[string index]
            {
                get
                {
                    switch(index)
                    {
                        case "姓名": return name;
                        case "年龄": return age;
                        case "联系方式": return phone; 
                        default: return "";  
                    }
                } 
                set
                {
                    switch (index)
                    {
                        case "姓名": name = value;break;
                        case "年龄": age = value; break;
                        case "联系方式": phone = value; break;
                    }
                }
            }
 
        }
 
        public static void Main(string[] args)
        {
            Person p = new Person();
            p["姓名"] = "Person P";
            Console.Write(p["姓名"]);
        }

 

posted @ 2022-11-28 20:19  曲琦  阅读(103)  评论(0编辑  收藏  举报