第Ⅰ部分 编程基础 3
第1章 入门 3
1.1 建立工作场所 3
1.2 获取工具和示例 4
1.3 使用工具 4
1.3.1 Visual Studio项目和解决方案 5
1.3.2 通过Visual Studio运行程序 6
1.3.3 在Visual Studio中停止程序运行 8
1.3.4 MyProgram应用程序 8
1.4 所学到的内容 12
第2章 什么是编程 13
2.1 如何成为一名程序员 13
2.1.1 编程和聚会策划 13
2.1.2 编程和问题 14
2.1.3 程序员和人们 15
2.2 将计算机作为数据处理器使用 16
2.2.1 机器、计算机和我们 16
2.2.2 使程序工作 18
2.2.3 将程序作为数据处理器使用 19
2.3 数据和信息 25
2.4 所学到的内容 27
第3章 编写程序 29
3.1 C#程序结构 29
3.1.1 确定资源 30
3.1.2 开始类定义 31
3.1.3 声明StartProgram方法 31
3.1.4 设置标题并显示一条消息 32
3.2 额外Snaps 34
3.3 创建新程序文件 35
3.4 额外Snaps 41
3.4.1 Delay 41
3.4.2 SetTextColor 42
3.4.3 SetTitleColor 42
3.4.4 SetBackgroundColor 43
3.5 创建自己的颜色 43
3.6 所学到的内容 45
第4章 在程序中使用数据 47
4.1 变量 47
4.1.1 变量和计算机存储 48
4.1.2 声明一个变量 48
4.1.3 简单的赋值语句 49
4.2 在程序中使用变量 50
4.2.1 在声明中分配值 52
4.2.2 将字符串添加到一起 52
4.3 使用数字 54
4.3.1 整数和实数 54
4.3.2 执行计算 56
4.4 使用不同的数据类型 58
4.5 程序中的整数和实数 60
4.5.1 变量类型和表达式 61
4.5.2 精度和准确度 62
4.5.3 通过强制转换实现类型转换 63
4.5.4 在表达式的操作数上使用强制转换 63
4.5.5 类型和错误 64
4.6 额外Snaps 65
4.6.1 天气Snaps 65
4.6.2 ThrowDice 65
4.7 所学到的内容 66
第5章 在程序中作决策 67
5.1 理解Boolean类型 67
5.1.1 声明一个Boolean变量 68
5.1.2 Boolean表达式 68
5.2 使用if结构和运算符 69
5.2.1 关系运算符 71
5.2.2 等式运算符 71
5.2.3 比较字符串 72
5.3 创建语句块 74
5.4 使用逻辑运算符创建复杂条件 76
5.5 添加注释使程序更清楚 78
5.6 游乐场的游乐设施和程序 80
5.6.1 读取数字 82
5.6.2 使用if条件构建逻辑 83
5.6.3 完成程序 84
5.7 使用程序资产 85
5.7.1 Visual Studio中的资产管理 86
5.7.2 播放声音资产 86
5.7.3 显示图像内容 87
5.8 所学到的内容 89
第6章 使用循环重复操作 91
6.1 使用循环做一个Pizza Picker 91
6.1.1 计算选择 92
6.1.2 显示总数 94
6.1.3 获取用户选项 94
6.1.4 添加一个while循环 96
6.2 使用while循环执行输入验证 101
6.3 使用Visual Studio跟踪程序的执行 102
6.3.1 添加断点 103
6.3.2 命中断点 104
6.3.3 查看程序中变量的内容 104
6.3.4 单步调试程序语句 104
6.3.5 程序继续 105
6.4 通过在循环中计数来创建一个乘法表辅助程序 106
6.5 使用for循环结构 109
6.6 跳出循环 111
6.7 使用continue返回到循环顶部 113
6.8 额外的Snaps 115
6.8.1 声音输入 115
6.8.2 机密数据录入 116
6.9 所学到的内容 116
第7章 使用数组 119
7.1 冰淇淋销售程序 119
7.2 生成数组 121
7.2.1 使用索引 122
7.2.2 使用数组 123
7.2.3 使用for循环显示数组的内容 127
7.2.4 显示用户菜单 128
7.2.5 使用冒泡排序对数组进行排序 129
7.2.6 找到最大和最小的销售值 135
7.2.7 计算出总销售额和平均销售额 136
7.2.8 完成程序 137
7.3 多维数组 138
7.3.1 使用嵌套for循环处理二维数组 139
7.3.2 创建程序的测试版本 141
7.3.3 计算数组维度的长度 141
7.4 使用数组作为查询表 143
7.5 所学到的内容 144
第Ⅱ部分 高级编程 149
第8章 使用方法简化编程 149
8.1 如何创建方法 149
8.1.1 向类添加方法 150
8.1.2 通过使用参数向方法提供信息 152
8.1.3 从方法调用返回值 155
8.2 创建一个小型联系人应用程序 157
8.2.1 读取联系人详细信息 159
8.2.2 存储联系人信息 160
8.2.3 使用Windows本地存储 160
8.2.4 使用引用参数传递方法调用的结果 162
8.2.5 显示联系人详细信息 166
8.3 向方法中添加智能感应注释 169
8.4 所学到的内容 171
第9章 创建结构化数据类型 173
9.1 使用结构存储音符 173
9.1.1 创建和声明结构 175
9.1.2 创建结构值的数组 176
9.1.3 结构和方法 177
9.1.4 构建结构值 179
9.1.5 创建一个音乐录音机 182
9.1.6 创建预设数组 184
9.2 对象和责任:让SongNote播放自己 185
9.3 使用Snaps创建一个绘图程序 187
9.3.1 在屏幕上绘制点 188
9.3.2 使用DrawDot Snap在屏幕上绘制一个点 189
9.3.3 SnapsCoordinate结构 190
9.3.4 使用GetDraggedCoordinate Snap检测绘制位置 192
9.3.5 使用SetDrawingColor Snap设置绘制颜色 193
9.3.6 使用ClearGraphics Snap清除屏幕 194
9.3.7 SnapsColor结构 195
9.4 创建枚举类型 195
9.5 使用switch结构进行决策 197
9.6 额外Snaps 199
9.6.1 GetTappedCoordinate 199
9.6.2 DrawLine 199
9.6.3 GetScreenSize 200
9.6.4 PickImage 201
9.7 所学到的内容 201
第10章 类和引用 203
10.1 创建Time Tracker 203
10.1.1 创建一个用来保存联系人信息的结构 203
10.1.2 当使用对象时用this进行引用 205
10.1.3 管理多个联系人 207
10.1.4 创建测试数据 208
10.1.5 设计Time Tracker的用户界面 209
10.1.6 构建Time Tracker程序 209
10.1.7 创建新联系人 211
10.1.8 查找客户详细信息 211
10.1.9 向联系人添加分钟数 213
10.1.10 显示摘要 214
10.2 结构和类 216
10.2.1 排序和结构 216
10.2.2 排序和引用 217
10.2.3 引用和值类型 218
10.2.4 引用和赋值 219
10.2.5 类和构造函数 223
10.2.6 类引用的数组 224
10.3 从数组到列表 225
10.3.1 遍历数据列表 227
10.3.2 列表和索引值 228
10.3.3 结构列表 228
10.4 使用JSON存储数据 228
10.4.1 Newtonsoft JSON库 229
10.4.2 存储和恢复列表 230
10.5 使用XML获取数据 233
10.6 所学到的内容 236
第11章 使用对象构建解决方案 239
11.1 创建完整的对象 239
11.1.1 保护对象中保存的数据 239
11.1.2 为私有数据提供Get和Set方法 242
11.1.3 提供反映对象使用的方法 243
11.2 使用属性管理数据访问 245
11.3 管理对象构建过程 249
11.3.1 捕获并处理异常 250
11.3.2 创建用户友好的应用程序 252
11.4 将图形保存在文件中 253
11.4.1 SaveGraphicsImage-ToFileAsPNG 253
11.4.2 SaveGraphicsImageToLocal-StoreAsPNG方法 254
11.4.3 LoadGraphicsPNGImage-FromLocalStore方法 255
11.4.4 DateTime结构 255
11.4.5 获取当前日期和时间 256
11.4.6 渐变日期和时间显示 256
11.4.7 使用日期和时间创建文件名称 257
11.4.8 创建Drawing类 257
11.4.9 创建图形列表 259
11.4.10 创建绘图日记方法 260
11.5 所学到的内容 262
第Ⅲ部分 创建游戏 267
第12章 使用什么创建游戏 267
12.1 创建视频游戏 267
12.1.1 游戏和游戏引擎 267
12.1.2 游戏和精灵 269
12.2 所学到的内容 280
第13章 创建游戏 281
13.1 创建一个玩家控制的球拍 281
13.2 向游戏添加声音 285
13.3 在游戏中显示文本 286
13.4 所学到的内容 294
第14章 游戏和对象的层次结构 297
14.1 游戏和对象:Space Rockets in Space 297
14.1.1 构建一个可以移动的星星精灵 298
14.1.2 允许方法被重写 304
14.1.3 创建一个移动的星空 304
14.1.4 基于MovingSprite创建火箭 306
14.1.5 添加一些外星人 308
14.2 设计类层次结构 313
14.3 所学到的内容 315
第15章 游戏和软件组件 317
15.1 游戏和对象 317
15.1.1 创建协同操作的对象 318
15.1.2 对象和状态 324
15.1.3 接口和组件 330
15.2 所学到的内容 334
第Ⅳ部分 创建应用程序 339
第16章 使用对象创建用户界面 339
16.1 创建一个加法机 339
16.1.1 使用XAML创建一个图形用户界面 340
16.1.2 XAML元素和软件对象 342
16.2 创建一个新应用程序 344
16.2.1 创建一个空程序 346
16.2.2 使用XAML创建用户界面 348
16.2.3 预览XAML屏幕显示尺寸 351
16.2.4 添加程序行为 352
16.2.5 计算结果 354
16.2.6 事件和程序 355
16.2.7 使用TextBox属性改进用户界面 359
16.3 所学到的内容 362
第17章 应用程序和对象 365
17.1 创建一个计算测验程序 365
17.1.1 对象和用户显示 366
17.1.2 创建一个测验对象 367
17.1.3 创建测验显示页面 371
17.1.4 添加声音和图片 373
17.2 支持多个测验 376
17.3 所学到的内容 381
第18章 高级应用程序 383
18.1 提高C#代码编写速度 383
18.2 创建一个Windows 10联系人编辑器 385
18.2.1 存储联系人详细信息 386
18.2.2 存储多个联系人 388
18.2.3 创建测试联系人 389
18.2.4 查找联系人 390
18.2.5 显示找到的联系人列表 391
18.2.6 编辑联系人 394
18.2.7 用户界面中的数据绑定 398
18.2.8 使对象可观测 399
18.3 软件设计和Time Tracker 404
18.4 所学到的内容 412