时间: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邮箱联系删除。
C#4.0提供了一个dynamic关键字,那么什么是dynamic,究竟dynamic是如何工作的呢?从最简单的示例开始:复制代码代码如下:staticvoid
C#中的很多关键词用法比较容易混淆,var和dynamic就是其中一组,他们都可以申明动态类型的变量,但是本质上他们还是有不少区别的。var在编译阶段已经确定类
本文实例讲述了C#4.0新特性的协变与逆变,有助于大家进一步掌握C#4.0程序设计。具体分析如下:一、C#3.0以前的协变与逆变如果你是第一次听说这个两个词,别
dynamic是FrameWork4.0的新特性。dynamic的出现让C#具有了弱语言类型的特性。编译器在编译的时候不再对类型进行检查,编译期默认dyna
dynamic是FrameWork4.0的新特性。dynamic的出现让C#具有了弱语言类型的特性。编译器在编译的时候不再对类型进行检查,编译期默认dynami