gpt4 book ai didi

c# - Prop 和完整属性(property)有什么区别?

转载 作者:可可西里 更新时间:2023-11-01 03:08:15 24 4
gpt4 key购买 nike

下面两段代码有区别吗?或者顶部只是底部的缩写形式?

public string Name { get; set; }

private string _Name;
public string Name
{
get { return _Name; }
set { _Name = value; }
}

最佳答案

唯一的区别(除了您必须在类构造函数中使用“默认名称”进行初始化之外)是 _Name 将在类本身中可见。存在该类将在内部引用 _Name 而不是 Name 的风险,一切都会正常工作,并且在稍后的某个时间点您将向 添加一些逻辑不会调用的名称,因为您在类中使用了 _Name

例子:

private string _Name = "Default Name";
public string Name
{
get { return _Name.Left(42); } // Changed the getter
set { _Name = value; }
}

void MyOtherMethod()
{
string foo = _Name; // Referencing the private field accidentally instead of the public property.
// Do something with foo
}

关于c# - Prop 和完整属性(property)有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7434308/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com