类中的属性

Joh*_*Doe 0 c#

我创建的两个属性之间有什么区别(即优势/劣势)?两者似乎都是正确的,但在类中声明属性的最佳方式(实践)是什么?

[Serializable]
public class MySample
{
   public string String1 = string.Empty;

   private string _string2 = string.Empty;

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

Jus*_*tin 5

只是String2一个财产,另一个是公共领域.

有关详细信息,请参阅C#.NET 3.5+中属性和字段之间的差异,但如果有疑问,则应使用属性而不是公共字段.

如果这似乎是太多的打字,那么你会很高兴知道以下是相同的

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

请参阅自动属性