这些属性声明有什么区别?

Cat*_*lin -3 c# c#-4.0

我看到我可以用两种方式宣布公共财产.它们都有get/set访问器,但它们之间有什么区别?

class Job
{
    public int Interval { get; set; }
    public string Key { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

class Job1
{
    public int Interval = 0;
    public string Key = string.Empty;
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

toa*_*akz 6

第一个例子是property- 它已声明gettersetter方法.

第二个例子是公众field,而不是公众property.公共领域是糟糕的编码实践.