简述C#中关键字var和dynamic的区别

时间:2021-12-25 14:40:05

C#中关键字var和dynamic的区别如下:

1、var申明的变量必须初始化,dynamic申明的变量无需初始化。

2、var关键字只能在方法内部申明局部变量,dynamic关键字可用于局部变量,字段,参数。

3、表达式不能转型为var,但可以转型为dynamic。

4、用var关键字声明变量时,编译时会根据初始化值来推断该变量的类型,用dynamic关键字声明变量时,编译的时候不执行类型检查,仅在运行时识别对象的类型。

注:参考《CLR via C# 4》