C#编程规则

用于标识符的规则

    标示符是给变量、用户定义的类型(例如类和结构)和这些类型的成员制定的名称。标示符区分大小写。确定在C#使用标示符有两个规则:

● 它们必须以一个字母或下划线开头,但可以包含数字字符;

● 不能把C#关键字用作标识符。

C#包含保留关键字

abstract

do

in

Protected

true

as

double

int

Public

try

base

else

interface

Readonly

typeof

bool

enum

internal

Ref

uint

break

event

is

Return

ulong

byte

explicit

lock

Sbyte

unchecked

case

extern

long

Sealed

unsafe

catch

false

namespace

Short

ushort

char

finally

New

Sizeof

using

checked

fixed

Null

Stackalloc

virtual

class

float

Object

Static

volatile

const

for

Operator

String

void

continue

foreach

Out

struct

while

decimal

goto

Override

switch

 

default

if

Params

this

 

delegate

implicit

Private

throw

 

如果需要把某一保留字用作标识符(例如,访问一个用另一种语言编写的类),可以在标识符的前面加上前缀@符号,指示编译器其后的内容是一个标识符,而不是C#关键字(所以abstract不是有效的标识符,而@abstract是)。

用法约定

变量名用带有前缀字母来表示某个数据类型,这种约定称为Hungarian表示法。

1、命名约定

      使程序易于理解的一个重要方面是给对象选择命名的方式,包括变量名、方法名、类名、枚举
名和命名空间的名称。

在.NET Framework中,一般规则也是变量名要反映变量实例的功能,而不是反映数据类型。例如,Height就是一个比较好的变量名,而IntegerValue就不太好。但是,这种规则是一种理想状态,很难达到。在处理控件时,大多数情况下使用ConfirmationDialog 和 ChooseEmployeeListBox等变量名比较好,这些变量名说明了变量的数据类型。

名称的约定包括以下几个方面

(1) 名称的大小写

在许多情况下,名称都应使用Pascal大小写命名形式。 Pascal 大小写形式是指名称中单词的第一个字母大写,如EmployeeSalary、ConfirmationDialog、PlainTextEncoding。注意,命名空间、类、以及基类中的成员等的名称都应遵循该规则,最好不要使用带有下划线字符的单词,即名称不应是employee_salary。其他语言中常量的名称常常全部都是大写,但在C#中最好不要这样,因为这种名称很难阅读,而应全部使用Pascal 大小写形式的命名约定

我们还推荐使用另一种大小写模式:camel大小写形式。这种形式类似于Pascal 大小写形式,但名称中第一个单词的第一个字母不是大写:employeeSalary、confirmationDialog、plainTextEncoding。有三种情况可以使用camel大小写形式。

● 类型中所有私有成员字段的名称都应是camel大小写形式:

public int subscriberId;

但要注意成员字段名常常用一个下划线开头:

public int _subscriberId;

传递给方法的所有参数都应是camel大小写形式:

public void RecordSale(string salesmanName, int quantity);

 camel大小写形式也可以用于区分同名的两个对象-- 比较常见的情况是属性封装一个字段:

 private string employeeName;

public string EmployeeName
{
get  
{
return employeeName;
}
}

(2) 名称的风格

名称的风格应保持一致。例如,如果类中的一个方法叫ShowConfirmationDialog(),另一个方法就不能叫ShowDialogWarning()或WarningDialogShow(),而应是ShowWarningDialog()。

(3) 命名空间的名称

命名空间的名称非常重要,一定要仔细设计,以避免一个命名空间中对象的名称与其他对象同名。记住,命名空间的名称是.NET区分共享程序集中对象名的唯一方式。如果软件包的命名空间使用的名称与另一个软件包相同,而这两个软件包都安装在一台计算机上,就会出问题。因此,最好用自己的公司名创建顶级的命名空间,再嵌套技术范围较窄、用户所在小组或部门、或类所在软件包的命名空间。Microsoft建议使用如下的命名空间:<CompanyName>. <TechnologyName>,

(4) 名称和关键字

名称不应与任何关键字冲突,这是非常重要的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章