定义类的属性

Kav*_*han 1 c# properties

谁能告诉我两者之间的区别

public class Vendor
{
    public string VendorName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

public class Vendor
{
    private string vendorName = string.Empty; 

    public string VendorName
    {
        get { return vendorName; }
        set { vendorName = value; }
    }
}
Run Code Online (Sandbox Code Playgroud)

使用私有变量有什么好处吗?这样做只会浪费时间和线条吗?在课堂上没有对该属性进行任何操作.

谢谢

Bri*_*sio 5

如果这就是你所做的一切,IMO没有任何好处.

这些代码块之间的显着差异是第一个默认为null,第二个默认为string.Empty.

除此之外,我每次都会选择自动属性(选项1).它是在C#3.0中添加的东西.