目录
1.
简介
......................................................................................................................................................
1
1.1 Hello world
.........................................................................................................................................
1
1.2
程序结构
..........................................................................................................................................
2
1.3
类型和变量
.......................................................................................................................................
4
1.4
表达式
..............................................................................................................................................
6
1.5
语句
..................................................................................................................................................
8
1.6
类和对象
.........................................................................................................................................
11
1.6.1
成员
12
1.6.2
可访问性
.................................................................................................................................. 12
1.6.3
基类
13
1.6.4
字段
13
1.6.5
方法
14
1.6.5.1
参数
....................................................................................................................................
14
1.6.5.2
方法体和局部变量
.............................................................................................................
15
1.6.5.3
静态方法和实例方法
..........................................................................................................
16
1.6.5.4
虚方法、重写方法和抽象方法
...........................................................................................
17
1.6.5.5
方法重载
............................................................................................................................
19
1.6.6
其他函数成员
........................................................................................................................... 20
1.6.6.1
构造函数
............................................................................................................................
21
1.6.6.2
属
21
性
...............................................................................................................................
21
1.6.6.3
索引器
................................................................................................................................
22
1.6.6.4
事件
....................................................................................................................................
22
1.6.6.5
运算符
................................................................................................................................
23
1.6.6.6
析构函数
............................................................................................................................
23
1.7
结构
................................................................................................................................................
24
1.8
数组
................................................................................................................................................
25
1.9
接口
................................................................................................................................................
26
1.10
枚举
..............................................................................................................................................
27
1.11
委托
..............................................................................................................................................
28
1.12
属性
..............................................................................................................................................
29
2.
词法结构
............................................................................................................................................
31
2.1
程序
................................................................................................................................................
31
2.2
文法
................................................................................................................................................
31
2.2.1
文法表示法
............................................................................................................................... 31
2.2.2
词法文法
.................................................................................................................................. 32
2.2.3
句法文法
.................................................................................................................................. 32
2.3
词法分析
.........................................................................................................................................
32
2.3.1
行结束符
.................................................................................................................................. 33
2.3.2
注释
33
2.3.3
空白
35
2.4
标记
................................................................................................................................................
35
2.4.1 Unicode 字符转义序列.............................................................................................................. 35
2.4.2
标识符
...................................................................................................................................... 36
2.4.3
关键字
...................................................................................................................................... 38
2.4.4
文本
38
2.4.4.1
布尔值
................................................................................................................................
38
2.4.4.2
整数
....................................................................................................................................
38
2.4.4.3
实数
....................................................................................................................................
40
2.4.4.4
字符
....................................................................................................................................
40
2.4.4.5
字符串
................................................................................................................................
41
2.4.4.6
空文本
................................................................................................................................
43
2.4.5
运算符和标点符号
................................................................................................................... 43
2.5
预处理指令
.....................................................................................................................................
43
2.5.1
条件编译符号
........................................................................................................................... 44
2.5.2
预处理表达式
........................................................................................................................... 45
2.5.3
声明指令
.................................................................................................................................. 45
2.5.4
条件编译指令
........................................................................................................................... 46
2.5.5
诊断指令
.................................................................................................................................. 49
2.5.6
区域指令
.................................................................................................................................. 49
2.5.7
行指令
...................................................................................................................................... 50
3.
基本概念
............................................................................................................................................
51
3.1
应用程序启动
.................................................................................................................................
51
3.2
应用程序终止
.................................................................................................................................
52
3.3
声明
................................................................................................................................................
52
3.4
成员
................................................................................................................................................
54
3.4.1
命名空间成员
........................................................................................................................... 54
3.4.2
结构成员
.................................................................................................................................. 54
3.4.3
枚举成员
.................................................................................................................................. 55
3.4.4
类成员
...................................................................................................................................... 55
3.4.5
接口成员
.................................................................................................................................. 55
3.4.6
数组成员
.................................................................................................................................. 55
3.4.7
委托成员
.................................................................................................................................. 55
3.5
成员访问
.........................................................................................................................................
56
3.5.1
已声明可访问性
....................................................................................................................... 56
3.5.2
可访问域
.................................................................................................................................. 57
3.5.3
实例成员的受保护访问
............................................................................................................ 59
3.5.4
可访问性约束
........................................................................................................................... 59
3.6
签名和重载
.....................................................................................................................................
60
3.7
范围
................................................................................................................................................
61
3.7.1
名称隐藏
.................................................................................................................................. 63
3.7.1.1
通过嵌套隐藏
.....................................................................................................................
63
3.7.1.2
通过继承隐藏
.....................................................................................................................
64
3.8
命名空间和类型名称
......................................................................................................................
65
3.8.1
完全限定名
............................................................................................................................... 66
3.9
自动内存管理
.................................................................................................................................
67
3.10
执行顺序
.......................................................................................................................................
69
4.
类型
....................................................................................................................................................
71
4.1
值类型
............................................................................................................................................
71
4.1.1 System.ValueType
类型
............................................................................................................. 72
4.1.2
默认构造函数
........................................................................................................................... 72
4.1.3
结构类型
.................................................................................................................................. 73
4.1.4
简单类型
.................................................................................................................................. 73
4.1.5
整型
74
4.1.6
浮点型
...................................................................................................................................... 75
4.1.7 decimal
类型
.............................................................................................................................. 76
4.1.8 bool
类型
................................................................................................................................... 76
4.1.9
枚举类型
.................................................................................................................................. 77
4.2
引用类型
.........................................................................................................................................
77
4.2.1
类类型
...................................................................................................................................... 77
4.2.2
对象类型
.................................................................................................................................. 78
4.2.3 string
类型
................................................................................................................................. 78
4.2.4
接口类型
.................................................................................................................................. 78
4.2.5
数组类型
.................................................................................................................................. 78
4.2.6
委托类型
.................................................................................................................................. 78
4.3
装箱和拆箱
.....................................................................................................................................
79
4.3.1
装箱转换
.................................................................................................................................. 79
4.3.2
拆箱转换
.................................................................................................................................. 80
5.
变量
....................................................................................................................................................
81
5.1
变量类别
.........................................................................................................................................
81
5.1.1
静态变量
.................................................................................................................................. 81
5.1.2
实例变量
.................................................................................................................................. 81
5.1.2.1
类中的实例变量
.................................................................................................................
81
5.1.2.2
结构中的实例变量
.............................................................................................................
82
5.1.3
数组元素
.................................................................................................................................. 82
5.1.4
值参数
...................................................................................................................................... 82
5.1.5
引用参数
.................................................................................................................................. 82
5.1.6
输出参数
.................................................................................................................................. 82
5.1.7
局部变量
.................................................................................................................................. 83
5.2
默认值
............................................................................................................................................
83
5.3
明确赋值
.........................................................................................................................................
84
5.3.1
初始已赋值变量
....................................................................................................................... 84
5.3.2
初始未赋值变量
....................................................................................................................... 85
5.3.3
确定明确赋值的细则
................................................................................................................ 85
5.3.3.1
一般语句规则
.....................................................................................................................
85
5.3.3.2
块语句、
checked
和
unchecked
语句
................................................................................
86
5.3.3.3
表达式语句
.........................................................................................................................
86
5.3.3.4
声明语句
............................................................................................................................
86
5.3.3.5 if
语句
.................................................................................................................................
86
5.3.3.6 switch
语句
.........................................................................................................................
87
5.3.3.7 while
语句
...........................................................................................................................
87
5.3.3.8 do
语句
...............................................................................................................................
87
5.3.3.9 for
语句
...............................................................................................................................
87
5.3.3.10 break
、
continue
和
goto
语句
...........................................................................................
88
5.3.3.11 throw
语句
.........................................................................................................................
88
5.3.3.12 return
语句
........................................................................................................................
88
5.3.3.13 try-catch
语句
....................................................................................................................
88
5.3.3.14 try-finally
语句
...................................................................................................................
88
5.3.3.15 try-catch-finally
语句
..........................................................................................................
89
5.3.3.16 foreach
语句
......................................................................................................................
90
5.3.3.17 using
语句
..........................................................................................................................
90
5.3.3.18 lock
语句
...........................................................................................................................
90
5.3.3.19
简单表达式的一般规则
....................................................................................................
90
5.3.3.20
带有嵌入表达式的表达式的一般规则
..............................................................................
91
5.3.3.21
调用表达式和对象创建表达式
.........................................................................................
91
5.3.3.22
简单赋值表达式
...............................................................................................................
91
5.3.3.23 &&
表达式
.......................................................................................................................
92
5.3.3.24 ||
表达式
............................................................................................................................
92
5.3.3.25 !
表达式
............................................................................................................................
93
5.3.3.26 ?:
表达式
...........................................................................................................................
93
5.4
变量引用
.........................................................................................................................................
94
5.5
变量引用的原子性
..........................................................................................................................
94
6.
转换
....................................................................................................................................................
95
6.1
隐式转换
.........................................................................................................................................
95
6.1.1
标识转换
.................................................................................................................................. 95
6.1.2
隐式数值转换
........................................................................................................................... 95
6.1.3
隐式枚举转换
........................................................................................................................... 96
6.1.4
隐式引用转换
........................................................................................................................... 96
6.1.5
装箱转换
.................................................................................................................................. 97
6.1.6
隐式常量表达式转换
................................................................................................................ 97
6.1.7
用户定义的隐式转换
................................................................................................................ 97
6.2
显式转换
.........................................................................................................................................
97
6.2.1
显式数值转换
........................................................................................................................... 97
6.2.2
显式枚举转换
........................................................................................................................... 99
6.2.3
显式引用转换
........................................................................................................................... 99
6.2.4
拆箱转换
................................................................................................................................. 100
6.2.5