C#3.0 序列教程 (3) - 自动属性,匿名类
一、自动属性
C#3.0里面在也不用写这样繁琐的代码了
private string _name;
public string Name
{
get { return
_name; }
set { _name =
value; }
}
已经被简化成如下代码:
public string Name { get; set; }
这个机制就叫做自动属性, 实际也是一种编译时技术。
有了自动属性,我们的实体类,已经简化了不少, 但是大家看了下面的这个新的语言机制,就会发现,实体类很多情况下都可以不写了!
二、匿名类型
var p = new {
Name = "zs", Age = 88, Sex = "boy" };
string name =
p.Name;
千万不要以为这个地方掉了类名,这就叫你匿名类型, 也就是说new的时候给了一些什么属性,则动态的创建了一种类型。
当然这个地方有一个疑问, 如果程序中很多地方在使用这个技术, 也就是说会创建很多匿名类型
那什么情况才是相同的匿名类型呢,只有当属性名、类型完全相同的时候,才是相同的匿名类型。