C#学习的心得笔记

刘铁猛C#第5讲(1)构成C#语言的基本元素

2019-10-18  本文已影响0人  北欧的蓝天

构成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)

上一篇下一篇

猜你喜欢

热点阅读