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
的时候需要注意,以防在程序运行时出现异常。
版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。
发表评论
登录用户才能发表评论, 请 登 录 或者 注册