在C#中定义Model的成员变量时public string name
{
     get;
     set;
}private string name;
public string Name
{
      get{ return name; }
      set{ name = value; }
}
这两种有什么区别吗?如果不考虑数据验证的问题(数据验证单独进行验证),有存在哪些区别呢?

解决方案 »

  1.   


    第一种方式:
    public string Name 
    {
        get;
        set; 
    } 第二种方式:
    private string name; 
    public string Name 

      get
       {
           return name; 
       } 
       set
       { 
          name = value; 
        }
    } 第二种是.net 2.0中的写法。
    第一种是C#3.0上的语法,是为了简化第二种的写法而出来的自动属性语法。没有什么区别,就是第一种写法比第二种写法简单(前提是在.net 2.0版本以上)
      

  2.   

      没有区别!以前2.0的时候都采用的是下面这种写法!
      现在版本高的好多都用上面这种写法!
      这是C# 3.0中的Auto-Implemented Properties特性 (自动实现属性)