C#中遇到这样的函数定义是什么意思?

来源:百度知道 编辑:UC知道 时间:2024/07/02 23:56:47
定义为 public string this[string Day] {}中的this[string Day] 这样的定义是什么意思

相当于定义了两个函数

public string get0(string Day)
public void set0(string Day, string v)

如下调用形式
string s=object[Day];
相当于
string s=object.get0(Day);

如下调用形式
object[Day]=s;
相当于
object.set0(Day, s);

只不过这种this[]形式的函数可以使你产生在使用数组的错觉。

就象属性
public string Name
{
get{ return m_name; }
set{ m_name=value; }
}
会使你有一种直接使用对象中字段的错觉。