首页 / C#开发 / 正文

C#4.0中var和dynamic的区别

37564 发布于: 2014-08-05 读完约需2分钟

var,dynamic的区别

var

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

var str="hello world.";

string str="hello world.";

以上这种声明都会告诉编译器str是string类型,我们可以使用string的属性和方法(比如:str.Trim(),str.Length等等);

dynamic

dynamic 则完全是另一回事,它的类型是在运行时决定的:

dynamic str="hello world.";
str++;
Console.WriteLine(s.Length);

这里的str被声明为dynamic,在编译的时候是可以通过的,但在运行的时候会报错,因为在运行的时候,.net会检查出string类型不支持++的操作。所以在使用dynamic的时候需要注意,以防在程序运行时出现异常。

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

上一篇: C#验证电子邮箱的正则表达式

下一篇: C#根据枚举的数值(Value)获取对应的Name值

本文永久链接码友网 » C#4.0中var和dynamic的区别

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册