首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >this[parameter]的语法是什么?

this[parameter]的语法是什么?
EN

Stack Overflow用户
提问于 2013-03-21 20:11:52
回答 4查看 76关注 0票数 2

这是我第一次接触到这个语法(我正在使用WPF,但不确定它是否只适用于WPF)

代码语言:javascript
复制
public string this[string name]
{
   if(this.User == name)
   {
      ...
   }
}

与下面这样的标准方法相比,使用这种方法有什么优势?

代码语言:javascript
复制
public string Validate(string name)
{
   if(this.User == name)
   {
      ...
   }
}

我尝试过编译public string this(string name),但这不起作用,所以this方面是关键。但是,这种格式是否实现了标准方法所不能实现的功能,并且它只特定于WPF,还是它是一种语言实现?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-03-21 20:13:11

它是一个indexer

索引器允许类或结构的实例像数组一样被索引。索引器类似于属性,不同之处在于它们的访问器接受参数。

它们通常用在集合类型中--例如字典、列表和数组。

在您给出的特定示例中,一种方法似乎更合适。

票数 2
EN

Stack Overflow用户

发布于 2013-03-21 20:13:21

它被称为Indexer

索引器允许类或结构的实例像数组一样被索引。索引器类似于属性,不同之处在于它们的访问器接受参数。

索引器提供类似数组的语法。它允许以与数组相同的方式访问类型。诸如索引器之类的属性通常访问后备存储区。

你可以阅读“Strange” C# property syntax

票数 3
EN

Stack Overflow用户

发布于 2013-03-21 20:17:02

this[]的语法是“索引器”。它是用于转发私有支持集合的语法糖。它允许您使用类似于数组类,但在返回数据之前封装一些逻辑。例如,您可以包装Dictionary,以便为不存在的键返回null,而不是抛出异常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15547185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档