首页 新闻 会员 周边

类变量的三种赋值方式,它们之间有区别吗?

0
[待解决问题]
 1 namespace Test
 2 {
 3     class A
 4     {
 5         private int _id;
 6         private string _text;
 7         public int Id
 8         {
 9             get { return _id; }
10             set { _id = value; }
11         }
12         public string Text
13         {
14             get { return _text; }
15             set { _text = value; }
16         }
17         public A() { }
18     }
19     class B
20     {
21         private int _id;
22         private string _text;
23         public int Id
24         {
25             get { return _id; }
26             set { _id = value; }
27         }
28         public string Text
29         {
30             get { return _text; }
31             set { _text = value; }
32         }
33         public B() { }
34         public B(int _id, string _text)
35         {
36             this.Id = _id;
37             this._text = _text;
38         }
39     }
40     class C
41     {
42         public int Id;
43         public string Text;
44     }
45     class Program
46     {
47         static void Main(string[] args)
48         {
49             //第一种情况的类这样给变量赋值
50             A a = new A();
51             a.Id = 1;
52             a.Text = "A";
53             //第二种情况的类这样给变量赋值
54             B b = new B(2,"B");
55             //第三种情况的类这样给变量赋值
56             C c = new C() { 
57             Id=3,
58             Text="C",
59             };
60         }
61     }
62     
63 }

个人感觉第三种情况代码少,写的也很简练,就是不知道这样合不合理,有没有不可预料的后果?

易2013的主页 易2013 | 菜鸟二级 | 园豆:211
提问于:2013-03-19 20:28
< >
分享
所有回答(2)
0

感觉差不多,从内存分配的角度看,也一样。

Qlin | 园豆:2403 (老鸟四级) | 2013-03-19 20:38

期待更专业的回答

支持(0) 反对(0) 易2013 | 园豆:211 (菜鸟二级) | 2013-03-19 22:12
0

属性比公共的字段好 还有属性的写法可以简写的 public int Id{get;set;}

chenping2008 | 园豆:9836 (大侠五级) | 2013-03-20 07:37

 public int Id{get;set;}这么写属性是没有意义的,它和public int Id是一样的,属性的最大特点是set,比如Age年龄,用set属性可以限制年龄大于18而小于100,单纯这么写 public int Id{get;set;}是没有意义的,我个人感觉,不知道对否?

支持(0) 反对(0) 易2013 | 园豆:211 (菜鸟二级) | 2013-03-20 07:53

@易2013: 我也说了,是简写

支持(0) 反对(0) chenping2008 | 园豆:9836 (大侠五级) | 2013-03-21 07:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册