一、C#新增关键字未列在保留字列表缘由:兼容利用了这些新增关键字的现有代码,解决方案是把它们定义为上下文关键字,只能用在某些具体代码中。好比async关键字,只能用于方法声明,也可用做变量名,编译器会自动识别。async
二、用法约定:在有了智能编辑器和Intellisense后,人们广泛认为带前缀表数据类型的Hungarian表示法是多余的,好比string strResult;编辑器
如今采用以下用法约定:能够有不一样的访问修饰符,但必须有一个属性访问级别publicspa
private string _firstName;
public string FileName
{
protected get { return _firstName; }
set { _firstName = value; }
}设计
自动实现的属性,能够属性初始化器来初始化:get
public int Age{ get; protected set; }=42;编译器
1)命名约定:变量、类、方法、枚举、名称空间:Pascal和Camel形式,string
三、属性和方法的使用:io
1)读取该值,不该花太多时间编译
2)读取该值,不该有任何明显和不但愿的负面效应,变量
3)能够按照任何顺序设置属性,顺序读取属性应有相同结果,若有预料不到的变化,则设计为方法。如汽车速度,把speed设置为属性就不合适,应使用方法;GetSpeed();而Weight和EngineSize设置为属性则合适
四、字段的使用:1)老是私有,但在某些状况下也能够把常量或只读字段设置为公有。2)缘由是若是设置为公有,则不利于之后扩展和修改类