当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C# Properties和Indexers的区别用法及代码示例


Properties in C# 是命名成员,它们使用访问修饰符来设置和检索以安全方式声明的字段的值。属性用于通过仅定义重要操作并隐藏其实现来抽象和封装对类字段的访问。属性通过说明的名称调用,并且可以声明为静态成员或实例成员。

Difference-Between-Properties-and-Indexers-in-CSharp

在 C# 中声明属性的语法:

[access_modifier] [return_type] [PropertyName]  
{
//body of property
}

Indexers in C# 是充当数组的数据成员,允许您以相同的方式访问要索引的对象内的数据。索引器始终声明为实例成员,而不是静态成员。索引器的实现方式与属性相同,只是索引器的声明必须至少有一个参数。

在 C# 中创建索引器的语法:

[access_modifier] [return_type] this [parameter]
{
  get 
  {
     // return value
  }
  set 
  {
    // return value
  }
}

C# 中属性和索引器的区别

特性 索引器
1. 属性是通过给出唯一的名称来声明的。 索引器的声明没有给出名称。
2. 属性由名称标识 而索引器是通过签名来识别的。
3. 属性可以声明为静态成员或实例成员。 索引器始终声明为实例成员,而不是静态成员。
4. 属性是通过说明的名称调用的。 使用所创建对象的索引来调用索引器。
5. 属性在创建时不需要此关键字。 索引器在其关键字中需要此关键字。
6. 属性的 get 访问器没有任何参数。 属性的 get 访问器包含与索引器相同的适当参数的列表。

相关用法


注:本文由纯净天空筛选整理自ashushrma378大神的英文原创作品 Difference Between Properties and Indexers in C#。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。