C#中的get和set

本文详细解释了C#中属性的get和set访问器的作用,包括只读、只写和读写属性的区别,以及return和value在访问器中的具体功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当我们定义属性的 get 访问器和 set 访问器时,其中的 returnvalue 分别代表以下含义:

  • return:在 get 访问器中使用,表示返回属性的值给调用方。它用于将属性关联的字段的值返回给外部代码。
  • value:在 set 访问器中使用,表示要为属性设置的值。它用于将外部代码传递给属性关联的字段,并将其赋值给字段。

下面是对不同类型属性的详细解释和示例说明:

  1. 只读属性(Read-Only Property):只包含 get 访问器的属性,无法从外部进行赋值,只能读取属性的值。
private string name; // 字段

public string Name // 只读属性
{
    get
    {
        return name; // 返回字段的值
    }
}

在上述示例中,属性 Name 是只读属性,它只包含 get 访问器。外部代码可以读取该属性的值,通过 get 访问器返回字段 name 的值。

MyClass obj = new MyClass();
string name = obj.Name; // 使用 get 访问器获取 Name 属性的值
  1. 只写属性(Write-Only Property):只包含 set 访问器的属性,无法从外部读取属性的值,只能进行赋值操作。
private string address; // 字段

public string Address // 只写属性
{
    set
    {
        address = value; // 将传入的值赋给字段
    }
}

在上述示例中,属性 Address 是只写属性,它只包含 set 访问器。外部代码可以使用赋值操作符将值赋给该属性,通过 set 访问器将传入的值赋给字段 address

MyClass obj = new MyClass();
obj.Address = "123 Main St"; // 使用 set 访问器设置 Address 属性的值
  1. 读写属性(Read-Write Property):包含同时拥有 get 访问器和 set 访问器的属性,可以从外部读取属性的值和设置属性的值。
private int age; // 字段

public int Age // 读写属性
{
    get
    {
        return age; // 返回字段的值
    }
    set
    {
        age = value; // 将传入的值赋给字段
    }
}

在上述示例中,属性 Age 是读写属性,它同时包含 get 访问器和 set 访问器。外部代码可以读取该属性的值和为其赋值。

MyClass obj = new MyClass();
obj.Age = 25; // 使用 set 访问器设置 Age 属性的值
int currentAge = obj.Age; // 使用 get 访问器获取 Age 属性的值

在以上示例中,return 在 get 访问器中用于返回属性关联字段的值,而 value 在 set 访问器中用于接收外部代码传递的值,并将其赋给属性关联的字段。通过这种方式,属性的 get 访问器和 set 访问器提供了对属性值的读取和设置的统一接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周杰伦fans

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值