首页新闻找找看学习计划

实体类属性声明

0
[已解决问题] 解决于 2013-07-19 09:57

在网上找的例子实体类是这样声明的:

        private double _numberA = 0;
        /// <summary>
        /// 数字A
        /// </summary>
        public double NumberA
        {
            get
            {
                return _numberA;
            }
            set
            {
                _numberA = value;
            }
        }        

而我现在写的是这样的:

public double NumberA{ get; set; }

请问这两种哪种好,有什么区别

淘@淘的主页 淘@淘 | 小虾三级 | 园豆:582
提问于:2013-07-17 15:02
< >
分享
最佳答案
0

看情况使用,没特别的逻辑处理两个方法是一样的

   public double NumberA
        {
get
            {
               
return _numberA;
            }
           
set
            {
                _numberA
= value;
            }

}
get set括号里可以添加代码处理,例如

get
 {
    
return _numberA+2.34;
  }

  set
{

if(value==0)

{

value=0.01;

}
   _numberA
= value;
}

奖励园豆:5
骷髅人 | 菜鸟二级 |园豆:464 | 2013-07-17 15:13
其他回答(4)
0

下面是上面的语法糖,编译之后就变成一样的了。没任何区别。

````` | 园豆:14268 (专家六级) | 2013-07-17 15:17
0

第2种写法叫自动属性(auto-implemented properties),只是为了代码的简洁

dudu | 园豆:39109 (高人七级) | 2013-07-17 15:27
0

木有区别

*^__^* | 园豆:428 (菜鸟二级) | 2013-07-17 16:51
0

这两个是没有区别的,只不过第二种是第一种的简写,可以不用定义初始变量直接定义属性。

妍珊 | 园豆:1169 (小虾三级) | 2013-07-17 17:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册