C#4.0中var和dynamic的区别

时间:2021-04-16

  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的时候需要注意,以防在程序运行时出现异常。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章