[quote=引用 6 楼 guonan198811 的回复:] 我觉得楼主理解错了;上面两种其实是不一样的 下面的一种其实跟aBC就没有关系了,外部可以直接访问Abc属性,这时候不存在aBC了。 而第一种情况一般还有一行代码在构造函数中。this.Abc =aBC;这样是为了通过字段就可以访问Abc属性,而私有字段一般是在类初始化的时候就可以赋值的。如果没有这个字段那么你只能在类外部通过手动赋值来确定Abc属性的值。
[quote=引用 2 楼 hipparch 的回复:] 我的意思是编译器怎么会知道 Abc {get;set;}对应的是私有成员aBC呢? 前面写完整了是明白的,不写完整怎么知道呢? 难道属性可以独立使用?没有成员的属性那还有什么意义呢
我的意思是编译器怎么会知道 Abc {get;set;}对应的是私有成员aBC呢? 前面写完整了是明白的,不写完整怎么知道呢? 难道属性可以独立使用?没有成员的属性那还有什么意义呢
我觉得楼主理解错了;上面两种其实是不一样的 下面的一种其实跟aBC就没有关系了,外部可以直接访问Abc属性,这时候不存在aBC了。 而第一种情况一般还有一行代码在构造函数中。this.Abc =aBC;这样是为了通过字段就可以访问Abc属性,而私有字段一般是在类初始化的时候就可以赋值的。如果没有这个字段那么你只能在类外部通过手动赋值来确定Abc属性的值。
//2.0 private string _sb; public string SB { get { return _sb;} set { _sb = value;} } //2.0以上版本(编译器会开辟一会内存空间指向SB的,这种写法是一种语法糖) public string SB { get;set; }
110,534
社区成员
642,575
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧