C# 中的属性是命名成员,它们使用访问修饰符来设置和检索以安全方式声明的字段的值。属性用于通过仅定义重要操作并隐藏其实现来抽象和封装对类字段的访问。属性通过描述的名称调用,可以声明为静态成员或实例成员。
在 C# 中声明属性的语法:
[access_modifier] [return_type] [PropertyName]
{
//body of property
}
C# 中的索引器是充当数组的数据成员,允许以相同的方式访问要索引的对象中的数据。索引器总是被声明为实例成员,而不是静态成员。索引器的实现方式与属性相同,只是索引器的声明必须至少有一个参数。
在 C# 中创建索引器的语法:
[access_modifier] [return_type] this [parameter]
{
get
{
// return value
}
set
{
// return value
}
}
C# 中属性和索引器的区别
编号 | 属性 | 索引器 |
---|---|---|
1 | 通过给定一个唯一的名称来声明属性。 | 索引器是在没有给出名称的情况下声明的。 |
2 | 属性由名称标识 | 索引器由签名标识。 |
3 | 属性可以声明为静态成员或实例成员。 | 索引器总是被声明为实例成员,而不是静态成员。 |
4 | 通过描述的名称调用属性。 | 使用创建对象的索引调用索引器。 |
5 | 属性在创建时不需要这个关键字。 | 索引器在其关键字中需要此关键字。 |
6 | 属性的 get 访问器没有任何参数。 | 属性的 get 访问器包含与索引器相同的正确参数列表。 |