class FirstAnonymousType
{
static void Main() //创建具有Name和Age属性的匿名类型对象
{
var tom = new { Name = "Tom", Age = 9 };
var holly = new { Name = "Holly", Age = 37 };
var jon = new { Name = "Jon", Age = 36 };
Console.WriteLine("{0} is {1} years old", jon.Name, jon.Age);
}
}
假设没有Person类,而且我们唯一关心的属性就是名字和年龄
在不声明一个类型的前提下,如何构造具有这些属性的对象
new 和 { 之间没有类型名称。
之所以用隐式局部变量,因为本来就没有一个明确的类型名称来声明变量
这个匿名的类型有 Name和 Age两个属性,两者都可读。
其值已在用于创建实例对象初始化程序中指定。
属性具有与初始化程序中的表达式一样的类型, Name是 String,而Age是Int
和普通的对象初始化程序一样,在匿名对象的初始化程序中,表达式可以调用所有方法或构造函数,可以获取属性值
可以执行计算
输出
Jon is 36 years old