1.object万能对象:object只是个对象,是个强类型,在编译的时候确定类型了,只能用对象本身的方法属性等等,object想使用动态属性方法只能用反射。
2.var万能强类型。
3.dynamic动态类型:dynamic动态类型,运行的时候才确定,dynamic可以定义成多个类型,并且可以不用过反射直接动态使用方法,属性等(说白了就是能随便点出来用,这点就是区别object的,object想使用动态属性方法只能用反射)。
通俗的说var接什么类型就能当什么类型用,相当于一个强类型的万能容器,由编辑器根据上下文中赋值直接就可以解释,但是不可以当参数类型。
比如接一个匿名类,那么这个v就可以直接使用了,而不需要再定义一个具体的实体类
var v= new { GuidID="1", ID="2", Name="3" };
var vv = v.ID;
var vv = v.ID;
集合
var result = from o in models orderby o.IndexID ascending select new { o.GuidID, o.DescriptorName };
var list = result.ToList();
list[0].GuidID;