- C# 3.0 - var 隐式类型声明
- C# 3.0 -自动属性实现
- C# 3.0 -对象初始化设置
- C# 3.0 -集合初始化设置
- C# 3.0 -匿名类型
- C# 3.0 -扩展方法
- C# 3.0 - partial 分部(类型)
- C# 3.0 - Lambda
- C# 3.0 - { get; set; } 默认值
- C# 3.0 - { get; set; } 默认值 2
- C# 3.0 - yield
有类如下:
public class Document
{
public string Title { get; set; }
public string Content { get; set; }
}
C# 2.0 为 Document 对象的属性赋值,可能通过如下的方式:
Document doc = new Document();
doc.Title = "标题";
doc.Content = "内容";
用了三行代码,能不能更简洁一点呢?可以用构造函数,这的确是个办法,但也不是特别好,因为不是每种情况下构造函数都会把所有的属性列出来。C# 3.0 的对象初始化设置提供了一种方案:
Document doc = new Document { Title = "标题", Content = "内容" };
- 去掉实例化时的小括号;
- 增加大括号;
- 在大括号里为需要赋值的属性赋值。
其实这段代码是这样工作的:
- 首先,用没有参数的构造函数去实例化对象;
- 然后,根据大括号中的属性及属性值,为对象属性赋值。
- C# 3.0 - var 隐式类型声明
- C# 3.0 -自动属性实现
- C# 3.0 -对象初始化设置
- C# 3.0 -集合初始化设置
- C# 3.0 -匿名类型
- C# 3.0 -扩展方法
- C# 3.0 - partial 分部(类型)
- C# 3.0 - Lambda
- C# 3.0 - { get; set; } 默认值
- C# 3.0 - { get; set; } 默认值 2
- C# 3.0 - yield