C#中 dynamic 关键字
所有表达式都能隐式的转换成dynamic,因为所有的表达式最终都能生成从Object派生出的类型。
object a = 1; int b = a; //隐式转换错误 int b2 = (int)a; dynamic d1 = 1; int b3 = d1; //可隐式转换
注意:
不要混淆dynamic和var.用var声明局部变量只是一种简化语法,它要求编译器根据表达式推断具体数据类型。var只能在方法内部声明局部变量,而dynamic关键字可用于局部变量、字段、和参数。
表达式不能转换成var,但却能转型为dynamic。必须显式初始化var声明的变量,但是无需初始化用dynamic声明的变量。