1.骆驼命名:第一个单词首字母小写,之后的单词首字母大写。如userName,userPassword,realName等。用于局部变量,字段 2.帕斯卡命名:单词首字母大写。GetMax(),ChangeName()等。用于方法名,类名,属性名 3.定义的变量或方法,名字要有意义。方法名用动词。变量名按功能命名,按方法的返回值内容命名。 执行流程 1.编写c#代码,保存为.cs文件。 2.通过csc.exe程序来将.cs文件编译为.net程序集。此时的exe或dll并不是机器码。csc /out : d:\test.exe d:\test.cs 3.程序运行时通过JIT编译,将程序集编译为cpu能理解的机器码,这时cpu才能执行。 静态成员通过类名访问,实例成员通过对象访问 1.c#中声明的所有变量都需要在类型中,不能在类型以外直接声明全局变量。 2.静态成员是与类相关,而非与实例相关。 3.普通类中的静态成员static。只能通过类名访问;静态方法只能访问静态成员,或通过对象访问实例成员。多个对象共享一个静态成员。 4.静态类,一般都是工具类。Math,Console,Convert等。静态类中只能包括静态成员。静态构造函数不能有参数,不能有访问修饰符,默认为private。 5.静态成员属于类所有,非静态成员属于类的实例所有。 6.c#静态方法属于类所有,类实例化前就可以使用。 7.在实例方法中可以直接调用静态方法,在静态方法中不可以直接调用实例方法。 8.静态方法和静态变量创建后始终使用同一块内存,而使用实例的方式会创建多个内存。 9.少使用静态类,静态类,静态成员所分配的内存在程序退出时才会释放。 访问级别约束 1.子类的访问级别不能比父类高。那样会暴露父类中的成员 2.类中属性或字段的访问级别不能比所对应的类访问级别高。 3.方法的访问级别不能比方法的参数和返回值的访问级别高。 用于解决可访问性不一致 虚方法实现多态 同样属性也可以实现多态。通过关键字virtual和override。 |
|