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(); }