/* * var的特点: * 1、var在编译器编译的时候根据初始值推断出其的类型 * 2、不能赋值除了初始值类型之外的其他类型 * 3、不能将null赋值给var变量 * 4、var只能在方法体中进行定义,不能在类中,也不能出现在方法的参数中 */ public static void c02VarType() { var i = 100; //经过编译器编译完成后,var会被编译器推断出int类型 var pig = new Pig() { }; var pig1 = pig; //var str = null; //Console.WriteLine(pig1.ToString()); }
static void C05AnCls() { var pig = new Pig() { }; //匿名类的定义形式 //匿名类的本质:编译器会编译成一个泛型类,将属性名称作为泛型类的类型占位符 //new对象操作其实就是调用泛型类中的构造函数实现 var ancObj = new { Name = "八戒", Age = 500 }; var obj2 = new { Name = 200, Age = "小样" }; //总结:ancObj和obj2是共用一个泛型类 var obj1 = new { Name = "小猪", Age = 1, toyname = "泥巴" };//产生一个新的泛型类 //将对象序列化成json (注意:在MVC中使用的json序列化器,一般传入的都是匿名类) }
public static void c01autoProperty() { Pig pig = new Pig(); }