原文连接:http://www.cftea.com/c/2009/08/QV96UJDMDHF7NUWC.asp
有类如下:
public class Document
{
public string Title { get; set; }
public string Content { get; set; }
}
{
public string Title { get; set; }
public string Content { get; set; }
}
C# 2.0 为 Document 对象的属性赋值,可能通过如下的方式:
Document doc = new Document();
doc.Title = "标题";
doc.Content = "内容";
doc.Title = "标题";
doc.Content = "内容";
用了三行代码,能不能更简洁一点呢?可以用构造函数,这的确是个办法,但也不是特别好,因为不是每种情况下构造函数都会把所有的属性列出来。C# 3.0 的对象初始化设置提供了一种方案:
Document doc = new Document { Title = "标题", Content = "内容" };
- 去掉实例化时的小括号;
- 增加大括号;
- 在大括号里为需要赋值的属性赋值。
其实这段代码是这样工作的:
- 首先,用没有参数的构造函数去实例化对象;
- 然后,根据大括号中的属性及属性值,为对象属性赋值。