自动属性、隐试类型、命名参数和自动初始化器。
note:这里说的这些,是语法糖。按照一定的格式写,部分代码编译器帮我们实现了,
1、自动属性:自动属性是非常有用的语法糖,帮我我们做了两件事:1.自动帮我们声明,私有成员。2.帮我们自动在get/set中匹配私有成员。
2、隐式类型:使用场景:是在linq中返回的类型不确定的时候,使用var隐式类型。
2.1 隐式类型特点:
- 被声明的对象,是局部对象,不能是静态字段。
- 声明的同时必须实例化,因为编译器要通过实例化值去推断类型。
- 初始化不能是匿名函数和null。
- 初始化类型以后不能再更改:强类型(js中的var类型是可以更改的弱类型)。
3.命名参数:方法中可以,给参数设置默认值。在调用方法的时候,就可以不赋值,或者按顺序赋值部分参数,想要不按顺序赋值部分参数,那就要在调用的时候指定(参数名:值)调用的时候也可以只给部分字段赋值。
4.属性初始化器
Person p=new Person{age=12,Name="2"}
5.匿名类