“Possible Duplicate:”:
什么是动态 (C# 4) 和 var 的区别? 在.NET 4.0 (VS 2010)中,“dynamic”和“var”关键字有什么区别?根据MSDN的解释,“动态查找允许您编写方法、运算符和索引器调用、属性和字段访问,甚至是对象调用,这些内容绕过了C#的正常静态绑定,而是动态解析的。” 而“var”的定义是:“隐式类型局部变量是强类型的,就像您自己声明的类型一样,但编译器决定了该类型。”
那么,在下面的代码上下文中,它们有什么不同?
什么是动态 (C# 4) 和 var 的区别? 在.NET 4.0 (VS 2010)中,“dynamic”和“var”关键字有什么区别?根据MSDN的解释,“动态查找允许您编写方法、运算符和索引器调用、属性和字段访问,甚至是对象调用,这些内容绕过了C#的正常静态绑定,而是动态解析的。” 而“var”的定义是:“隐式类型局部变量是强类型的,就像您自己声明的类型一样,但编译器决定了该类型。”
那么,在下面的代码上下文中,它们有什么不同?
var a1 = new A();
a1.Foo(1);
dynamic a2 = new A();
a2.Foo(1);