C#4.0中var和dynamic的区别

C#开发 2014-08-05 35238阅读 0评论 0收藏 收藏本文

var,dynamic的区别 var是静态类型,是在编译时决定的变量类型,编译器和运行时知道var声明的变量的类型,var仅仅是一个语法糖,说得更直白一些的话就是可以让你少输入一些字符,如下的实现是完全一样的:

var str="hello world.";
string str="hello world.";
以上这种声明都会告诉编译器str是string类型,我们可以使用string的属性和方法(比如:str.Trim(),str.Length等等); dynamic 则完全是另一回事,它的类型是在运行时决定的:
dynamic str="hello world.";
str++;
Console.WriteLine(s.Length);
这里的str被声明为dynamic,在编译的时候是可以通过的,但在运行的时候会报错,因为在运行的时候,.net会检查出string类型不支持++的操作。所以在使用dynamic的时候需要注意,以防在程序运行时出现异常。

转载请注明:图享网 » C#4.0中var和dynamic的区别

文章评论

获取验证码