C#6.0的语法<一>
来源:互联网 发布:平刷王时时彩软件怎样 编辑:程序博客网 时间:2024/06/18 18:03
一、自动初始化属性:
确实这个比之前的版本简化了一下,不过你肯定很好奇,到底编译器给我们做了哪些东西呢?
<span style="color:#000000;">class Student{ public string Name { get; set; } = "ctrip";}</span>
从这张图中可以看到,在ctor中<Name>k__backingfield=“ctrip“的赋值在base::ctor之前,这就说明name是变量初始化赋值,而不属于
构造函数赋值,那有什么区别呢,如果base::ctor在<Name>k__backingfield=”ctrip"之前,那就是构造函数赋值了,不过我得特别要指明
一下,是源代码级别的区别,而不是IL中的区别,因为在IL中都是构造函数赋值,不过语句顺序不一样而已,然后我把内部做的代码复原如下:
1 class Student 2 { 3 private string k__BackingField = "ctrip"; 4 5 public string Name 6 { 7 get 8 { 9 return k__BackingField;10 }11 12 set13 {14 k__BackingField = value;15 }16 }17 }
然后再看看怎么让base::ctor在<Name>k__backingfield="ctrip"之前。
1 class Student 2 { 3 private string k__BackingField; 4 5 public string Name 6 { 7 get 8 { 9 return k__BackingField;10 }11 12 set13 {14 k__BackingField = value;15 }16 }17 18 public Student()19 {20 k__BackingField = "ctrip";21 }22 }
0 0
- C#6.0的语法<一>
- C#语法一
- C#6.0的语法<二>
- C#6.0的语法<三>
- C# 语法参考(一)
- C#2.0基本语法一
- C#基本语法浓缩一
- C#语法笔记(一)
- C#的基本语法
- C#语法的学习方法
- C#语法的学习方法
- c#的基本语法
- C#简单的语法
- c# 特殊的语法
- C#的基本语法
- C#的语法结构
- C#的语法
- C# 的基本语法
- 小试Python多线程
- UITextField边框颜色
- 新手学跨域
- 以太网网络变压器和中心抽头的接法
- php扩展xdebug基本使用
- C#6.0的语法<一>
- bzoj [HAOI2008] 糖果传递 贪心
- 安装win8后找不到Ubuntu启动项的解决方法
- mysql禁用autocommit
- 新手学跨域之Jsonp
- 新浪云存储(SCS) SDK for Node.js使用方法,node粉丝这次有福气了!
- SQLite使用
- 新浪云存储支持云豆支付吗?
- C 的输入输出流和缓冲区