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["姓名"]);
}