编写C#属性的最短方式?

Nik*_*ric 2 c# syntax standards

有人告诉我你可以替换以下代码:

private string name;

public string Name
{
    get;
    set;
}
Run Code Online (Sandbox Code Playgroud)

以下内容并没有任何不良影响:

public string Name;
Run Code Online (Sandbox Code Playgroud)

我意识到,像第一个例子中那样设置的属性与我删除它并设置原始属性时的属性几乎相同,public但是对于你需要的属性的第二种方式是不好的编程习惯基本的吸气剂和二传手?

Dan*_*ann 5

第二种方式不是财产,而是一个领域.您应该始终将属性用于面向公众的值的原因是从字段转换为属性构成了一个重大变化.使用属性允许您稍后更改getter或setter的行为,而不会破坏引用您的任何代码.

请记住,代码 public string Foo { get; set; }

实际上相当于

private string foo;
public string Foo 
{ 
    get { return foo; }
    set { foo = value; }
}
Run Code Online (Sandbox Code Playgroud)