深入理解C# 3.0的五项主要改进 (匿名类型)

来源:互联网 发布:凸优化优化指标 编辑:程序博客网 时间:2024/05/16 04:59
4.匿名类型

  C# 2.0引入了匿名方法,C# 3.0推出匿名类型。匿名类型与匿名方法类似,它们都是以嵌入方式建立,并没有正式的名称。在建立一个匿名类型,您必须组合上述对象初始化器和隐型局部变量两个概念。下面是一个匿名类型的例子:

varmyType = new { Length = 79, Width = 30 };

  匿名类型的范围与任何其它变量的范围相同。例如,下面代码块中的cobra实例仅仅在Speed函数块中有效:

private void Speed()
{
 var cobra = new { Horsepower = 550, Torque = 570 };
}

  如果一个匿名类型被初始化而另一个匿名类型位于范围域中,并且它们的签名相同,第二个类型将自己占用第一个类型的类型。例如,在下面这段代码中,cobra和mustang都是匿名类型,并且可以彼此设定。

private void Speed()
{
 var cobra = new { Horsepower = 550, Torque = 570 };
 var mustang = new { Horsepower = 300, Torque = 300 };
 mustang = cobra; //or you could say cobra = mustang
}
 
原创粉丝点击