c # {get;set;}

public string name{get;set;}这种写法是dotNet2.0以后才可以这样写,目的是减轻程序员的工作量,它的实现就是楼上讲的由编译器生成
  private string name;

        public string Name
        {
            get { return name; }
            set { name= value; }
        }
这样的代码
如果你要对属性做一些判断,如字符串不能为空,整数必搜索须大于零等等这样的操作,那么你就没办法利用public string name{get;set;}这样的便利,必须老老实实写形如
  public string Name
        {
            get { return name; }
            set { name= value; }
        }
这样的代码

原文地址:https://www.cnblogs.com/little-white/p/3466992.html