@
neutrino , 推荐你这本书[](
https://www.amazon.cn/gp/product/B00J94AG2A/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=536&creative=3200&creativeASIN=B00J94AG2A&linkCode=as2&tag=vastwork-23)
简单介绍几个特性:
- async await, 以同步的方式写异步函数,其他语言也在加入类似的特性。例如 EntityFramework 中提供的 API 几乎都有一个 async 的版本,调用这些异步版本的 API 只需要加上一个 await 关键字即可。
- var、匿名对象、linq 结合一起可以写出这样的语句
```
var data = from item in context
where item.foo == 'bar'
select new { result = item.a + item.b }
// 因为 new 的是匿名对象事先并没有定义这样的类型,这个时候幸好有 var, 编译器会帮我们声明这个类型。
// 这样写法实际中没什么意义,纯粹表达特性的其中一种简单用法
```
- struct 值类型用于定义一些不可变的类型,例如 DateTime 就是 struct 类型, 除了不可变的好处之外,值类型是通过栈分配空间,不需要 GC 回收,性能自然比 class 类型要好。