1,符号

1)注释

① 行注释//

VS2013中,快速注释、取消注释:

②块注释/**/

③段注释///

段注释以后使用时会自动提示。

/// <summary>

///

/// </summary>

  • 1
  • 2
  • 3

2)展开、折叠代码块

#region

#endregion

  • 1
  • 2

2,特殊运算符;

1)is运算符

用于检查变量是否为指定类型。返回true/false. 如:

bool result = i is int;

  • 1

2)条件运算符(?:)

条件为true,计算表达式1,否则计算表达式2.

3)typeof运算符

获得系统原型对象的类型(Type对象)。

static void Main(string[] args)

{

Type mytype = typeof(int);

Con("类型:{0}",mytype);

Con();

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

运行结果:

3,char类型:

在C#中表示一个Unicode字符。

4,转义字符:

ddd 1~3位八进制数所代表的字符

xhh 1~2位十六进制所代表的字符

5,编程规范:

1)数据类型简写规则:

字符串:str; 布尔型:bl; 短整型:sint; 长整型:lint; 单精度浮点型:flt; 双精度浮点型:dbl; 字节型:bt

2)变量命名规则:

模块级:M_int_name; 全局:G_int_name; 局部:P_int_name

3)常量命名规则:

模块级:Mc_int_name; 全局:Gc_int_name; 局部:Pc_int_name

4)类命名规则:

a.使用名词。

b.不以C或下划线为前缀

c.避免自定义异常类,异常类以Exception结尾。

d.初始化类不要赋值为Null.

e.避免一个类文件里包含多各命名空间。

5)属性命名规则:

a.使用名词,不与类名重复。

b.用属性替代public、protected的成员变量。

6)方法命名规则:

a.动词,表行为。

b.参数多于5个的时候,考虑用struct来传递多个参数。

7)接口命名规则:

a.前缀I,使用形容词(因为是为类添加某种能力)

b.包含3~5个成员。不要超过20个成员。

c.避免成员包含事件。why?

d.用接口替换抽象方法。

e.使用显示的接口实现。

8)数据库命名规范:

a.db_开头+数据库全称/缩写

b.数据表:tb_。

c.视图:view_。

d.存储过程:proc_

e.触发器:trig_

6,方法修饰符

1)private

私有成员只有声明它们类和结构体可以访问。

2)public

3)protected

受保护的成员在它的类、派生类中可访问。

4)internal

内部类型在同一个程序集的文件中可访问。

5)partial

分部类和结构在整个同一程序集中定义。

6)new

7)static

8)virtual

9)override

提供从基类继承的虚拟成员的新实现。

10)sealed

该类不可被继承

密封类。

11)abstract

该类只能是其他类的基类。

抽象类。

12)extern

在外部实现方法。

7,函数

1)构造函数

2)析构函数(destructor)

析构函数与构造函数相反,当对象脱离其作用域时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。

析构函数名也应与类名相同,只是在函数名前面加一个波浪符~,例如~stud( ),以区别于构造函数。

析构函数不能带任何参数,也没有返回值(包括void类型)。

只能有一个析构函数,不能重载。

如果用户没有编写析构函数,编译系统会自动生成一个缺省的析构函数,它也不进行任何操作。

3)虚函数

若一个实例方法声明前带有virtual关键字,那么这个方法就是虚方法。

虚方法与非虚方法的最大不同:

虚方法的实现可以由派生类所取代,这种取代是通过方法的重写来实现。

虚方法的特点:

虚方法前不允许有static,abstract,或override修饰符

虚方法不能是私有的,因此不能使用private修饰符

与java对比

1)类只支持单继承,接口支持多继承。(和java相同)

相关推荐