在c#中获取、设置属性的真正目的是什么?

在c#中获取、设置属性的真正目的是什么?,c#,properties,get,set,C#,Properties,Get,Set,可能的重复项: 获取、设置的真正目的是什么 c#中的属性 任何好的ex我什么时候应该使用get,set属性 您是指属性还是关键字get;设置 属性:简单地说,属性是智能字段。当你想获取或设置值时,你可以添加逻辑。用法示例:如果要验证设置为属性的值,或者如果要组合来自不同字段的值,而不向公众公开这些字段,请执行以下操作 关键字:这是一个C#简写,用于创建带有支持字段(存储值的字段)的属性。当您启动新代码并希望尽早完成接口时,它非常有用。您需要它们来控制您的对象私有字段值。例如,如果您不想允许

可能的重复项:

  • 获取、设置的真正目的是什么 c#中的属性
  • 任何好的ex我什么时候应该使用get,set属性

您是指属性还是关键字
get;设置

属性:简单地说,属性是智能字段。当你想获取或设置值时,你可以添加逻辑。用法示例:如果要验证设置为属性的值,或者如果要组合来自不同字段的值,而不向公众公开这些字段,请执行以下操作


关键字:这是一个C#简写,用于创建带有支持字段(存储值的字段)的属性。当您启动新代码并希望尽早完成接口时,它非常有用。

您需要它们来控制您的对象私有字段值。例如,如果您不想允许整数为null或负值。此外,封装还可用于在对象成员的值发生更改时触发事件。 范例

另一个例子

    int positiveNumber;

    public int PositiveNumber
    {
        get { return positiveNumber; }
        set {
            if (value < 0)
                positiveNumber = 0;
            else positiveNumber = value;
        }
    }
看见
    int positiveNumber;

    public int PositiveNumber
    {
        get { return positiveNumber; }
        set {
            if (value < 0)
                positiveNumber = 0;
            else positiveNumber = value;
        }
    }
    int positiveNumber;

    public int PositiveNumber
    {
        get { return positiveNumber; }

    }