
2.2 语法
C#的语法基于C和C++语法。在本节中,我们将使用下面的程序介绍C#的语法元素:

2.2.1 标识符和关键字
标识符是程序员为类、方法、变量等选择的名字。下面按顺序列出了上述示例中的标识符:

标识符必须是一个完整的词,它由以字母和下划线开头的Unicode字符构成。C#标识符是区分大小写的,通常约定参数、局部变量以及私有字段应该以小写字母开头(例如myVariable),而其他类型的标识符则应该以大写字母开头(例如MyMethod)。
关键字是对编译器有特殊意义的名字。前面的示例中用到的两个关键字是using和int。
大部分关键字是保留字,这意味着它们不能用作标识符。以下列出了C#的所有关键字:

如果希望用关键字作为标识符,需在关键字前面加上@前缀,例如:

@并不是标识符的一部分,所以@myVariable和myVariable是一样的。
上下文关键字
一些关键字是上下文相关的,它们有时不用添加@前缀也可以用作标识符,例如:

使用上下文关键字作为标识符时,应避免与上下文中的关键字混淆。
2.2.2 字面量、标点与运算符
字面量在语法上是嵌入程序中的原始数据片段。上述示例中用到的字面量有12和30。
标点有助于划分程序结构,例如,分号用于结束一条语句。语句也可以放在多行中:

运算符用于改变和组合表达式。大多数C#运算符都以符号表示,例如,乘法运算符*。我们将在本章后续内容中详细介绍运算符。在前文中出现的运算符有:

点号.表示某个对象的成员(或者数字字面量的小数点)。括号在声明或调用方法时使用,空括号在方法没有参数时使用,本章后续还会介绍括号的其他用途。等号=用于赋值操作,双等号==用于相等比较,请参见本章后续内容。
2.2.3 注释
C#提供了两种不同形式的源代码文档:单行注释和多行注释。单行注释由双斜线开始,到本行结束为止,例如:

多行注释由/*开始,由*/结束,例如:

注释也可以嵌入XML文档标签中,我们将在4.20节中介绍。