这是我第一次接触到这个语法(我正在使用WPF,但不确定它是否只适用于WPF)
public string this[string name]
{
if(this.User == name)
{
...
}
}与下面这样的标准方法相比,使用这种方法有什么优势?
public string Validate(string name)
{
if(this.User == name)
{
...
}
}我尝试过编译public string this(string name),但这不起作用,所以this方面是关键。但是,这种格式是否实现了标准方法所不能实现的功能,并且它只特定于WPF,还是它是一种语言实现?
发布于 2013-03-21 20:13:11
它是一个indexer
索引器允许类或结构的实例像数组一样被索引。索引器类似于属性,不同之处在于它们的访问器接受参数。
它们通常用在集合类型中--例如字典、列表和数组。
在您给出的特定示例中,一种方法似乎更合适。
发布于 2013-03-21 20:13:21
它被称为Indexer。
索引器允许类或结构的实例像数组一样被索引。索引器类似于属性,不同之处在于它们的访问器接受参数。
索引器提供类似数组的语法。它允许以与数组相同的方式访问类型。诸如索引器之类的属性通常访问后备存储区。
发布于 2013-03-21 20:17:02
this[]的语法是“索引器”。它是用于转发私有支持集合的语法糖。它允许您使用类似于数组类,但在返回数据之前封装一些逻辑。例如,您可以包装Dictionary,以便为不存在的键返回null,而不是抛出异常。
https://stackoverflow.com/questions/15547185
复制相似问题