var是用来简写代码的,声明的变量一旦赋值就确定类型了,不允许赋值为其他类型的数据了。可以说,它就是让你省略写变量的类型。
dynamic是动态类型,编辑器在没有运行时都不会知道它是什么类型,所以是不会提示任何消息的,只有当运行时,编辑器通过反射知道类型,调用到不正确的属性和方法时就会出现错误。动态类型,可以修改赋值为其他类型的数据。
static void Main(string[] args)
{
dynamic a = 100;
Console.WriteLine(a.GetType());//System.Int32
dynamic s = "hahaha";
Console.WriteLine(s.GetType());//System.String
var t = "asd15";
Console.WriteLine(t.GetType());//System.String
s = 1520;
Console.WriteLine(s.GetType());//System.Int32
Console.ReadKey();
}