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