刘铁猛C#第5讲(1)构成C#语言的基本元素
构成C#语言的基本元素
构成C#语言的基本元素和构成其他语言的基本元素有所区别。
C#跟Java很像,是因为两者的基本元素大部分一致。其他部分很相似。
1)熟悉C#语言:认识所有构成C#语言的基本元素,并能正确使用常见的基本元素。
2)精通C#语言:能使用所有构成C#语言的基本元素,使用常用基本元素,而不犯错。并对这些基本元素有深层次的理解,及其背后运行的机制。
标记 Token,就是对编译器来说,有意义的记号。编译器可以识别出 token。编译器会忽略注释和空白,它们对编译器而言,没有意义。
关键字(keyword)
构成一门编程语言的基本词汇。C#关键字包含两种:
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/
https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/
1) 任何时候都是关键字
2)“上下文关键字”,只有在上下文语境中才是关键字。
有些关键字有多种用途(以后会讲)。
关键字是按逻辑分组的,自学时也该按分组学习。
操作符(operator)
就是运算符,表达运算思想的符号。如:+-*/,C#还有一些自己特有的操作符,有些操作符,其实是关键字,称为“操作符关键字”。
C#操作符如下:
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/index
https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/operators/index
标识符(Identifier)
就是名字,如:变量名,类名,类的成员名(属性名,方法名,事件名)。
合法的标识符指编译器能够编译的标识符,否则会报错。
参见C#语言规范文档。
通常情况下,关键字是“被保留”的,不可用作标识符。但是
1)允许用字符(如:英文字符,汉语字符等等),以及下划线作为初始字符
2)初始字符后面,可以跟字符,数字,汉语字符,等等
3)允许在标识符中使用Unicode转义序列,不过仅在处理 a)字符(第 2.4.4.4 节)和 b)规则字符串(第 2.4.4.5 节)中处理。不在其他任何位置处理 Unicode 字符转义(例如,在构成运算符、标点符号或关键字时)
4)允许以“@”字符作为前缀,以使关键字能够用作标识符。
5)不允许用数字作为初始字符
6)汉语,德语等等,也可以做标识符
标识符命名规范:合法的标识符,并不意味着可读性好。所以标识符要有意义,以便其他人能明白该标识符代表什么。
1)对类命名时,标识符要是一个“名词”
2)对类的成员命名时,属性一定是个“名词”,方法一定是个“动词”
大小写规范:
1)驼峰法:单词首字母先小写再大写,交替,用于变量名。 e.g. myVariable
2)Pascal法(帕斯卡命名法):单词首字母大写,用于方法名,类名,名称空间等。e.g. MyVariable, WriteLine
区别于Java,Java要求方法也要用驼峰法命名。
标点符号:
不参与运算的符号
文本(字面值)
1)整数
(32位)普通整型 int, e.g. int x = 2;
(64位)长整型 long,long y = 2L; (L表示长整型)
位数越多,能表示的数字范围就越广。2位(00-99),4位(0000-9999)。
2)实数(小数)
(32位)单精度浮点型 float,e.g. float x = 2.0F; (F表示单精度浮点数,系统默认2.0为双精度浮点数,一定要加F才能代表单精度浮点数)
(64位)双精度浮点型 double,e.g. double y = 2.0D; (D表示双精度浮点数,此处已经double,去掉D也可以)
3)字符(串)
char 单字符用单引号:e.g. char c = 'a';
char,只能代表一个字符,只能用单引号,否则报错。e.g. char c = "apple";
4)字符串
string 字符串用双引号,可以代表null,单字符,一串字符。
5)布尔值:true 和 false
6)空值(null)e.g. string str = null;
实际应用中,null引用会报错“System.NullReferenceException”。要去找丢失的引用。
注释与空白:
编译器会忽略
1) // 单行注释
2)/* ...... */ 块注释
好的代码有自解释性,除非比较复杂,才加简短明了的注释。
暂时不用的代码也可以先注释掉。
3)空白
e.g. string str = "apple";
不报错,但是可读性差,VS中,Edit--Advanced--FormateDocument,点击后自动调整。(ctrl+E+D)