Dynamic,Var以及的差别与相同点

Dynamic,Var以及<T>都是用于声明一个变量的类型的且类型都没有显式的说明是哪个类型的。

 

差别在于var的类型是在编译时确定的,具体的类型是从编写的代码智能推断出来的。

那么var声明的对象,类型一定是确定的,并且这个变量必须在声明的时候就赋值。简单的将,var就是简化声明对象的类型的,比如linq插叙的结果,一般类型比较复杂,手动写的话 也不太好确定具体是什么类型的,

直接填个var 解决问题。

 

Dynamic比较牛逼一点,不仅可以声明一个内部变量,还可以是一个表达式,一个参数。

Dynamic的具体类型是运行时确定的。

 

泛型的具体类型是在实例化的时候决定的,也就是new的时候决定的,因为new的时候用户需要传一个具体的T进去。