杨佩璐编著的《零点起飞学C#》结合大量实例和实战案例,由浅入深、循序渐进地介绍C#程序设计的相关知识,尤其对面向对象的程序设计和一些难点做了重点介绍。本书特意提供了典型习题及教学PPT,以方便教学。另外,本书提供了大量的配套教学视频,还赠送了13个典型模块与3个项目开发的源代码及教学视频,以帮助读者更好地学习。这些视频和本书代码一起收录于配书光盘中。
本书共分4篇。第1篇为基础语法,介绍了Visual Studio 2010开发环境的搭建、C#基本概念、类型、变量、表达式和运算符、语句、命名空间、类、结构和数组等。第2篇为面向对象技术深入,介绍了接口、委托和事件、异常处理、泛型、分部类型和可空类型、赋值、迭代器、匿名方法、扩展方法、Lambda表达式和查询表达式等。第3篇为C#应用技术,介绍了字符串处理、日期和时间处理、I/O流、目录和文件处理、Windows窗体编程、使用GDI+绘图,以及.NET数据访问等。第4篇为项目案例实战,介绍了图书管理系统、P2P聊天工具、我的校内网等系统的开发过程,因为篇幅所限,本篇内容以PDF格式收录于配书光盘中。
目录
- 第1篇基础语法
- 第1章 C#入门基础(教学视频:40分钟) 2
- 1.1 C#概述 2
- 1.1.1 C#的发展 2
- 1.1.2 .NET框架 2
- 1.1.3 C#开发工具 3
- 1.2 搭建Visual Studio 2010开发环境 3
- 1.2.1 安装Microsoft Visual Studio 2010 3
- 1.2.2 配置集成开发环境(IDE) 6
- 1.2.3 熟悉集成开发环境 6
- 1.3 创建第一个控制台应用程序 9
- 1.3.1 创建Sample_1控制台应用程序 9
- 1.3.2 解决方案资源管理器 9
- 1.3.3 Program.cs文件 9
- 1.3.4 AssemblyInfo.cs文件 10
- 1.3.5 运行应用程序 10
- 1.4 创建第一个Windows窗体应用程序 11
- 1.4.1 创建Sample Windows窗体应用程序 12
- 1.4.2 解决方案资源管理器 12
- 1.4.3 相关文件简介 12
- 1.4.4 运行应用程序 13
- 1.5 小结 14
- 1.6 习题 14
- 第2章 C#基本概念(教学视频:18分钟) 16
- 2.1 创建Hello World应用程序 16
- 2.1.1 创建hello.txt文本文件 16
- 2.1.2 创建HelloWorld类 16
- 2.1.3 添加Print()方法 17
- 2.1.4 添加Main()方法 17
- 2.1.5 调用Print()方法 17
- 2.1.6 引入System命名空间 18
- 2.1.7 整理Hello World应用程序的代码 18
- 2.2 编译和运行Hello World应用程序 19
- 2.3 C#程序的概念扩展 19
- 2.4 小结 20
- 2.5 习题 20
- 第3章类型(教学视频:47分钟) 22
- 3.1 什么是类型 22
- 3.2 值类型 23
- 3.2.1 值类型的基础——System.ValueType类型 23
- 3.2.2 整数类型 24
- 3.2.3 浮点型 25
- 3.2.4 decimal类型 26
- 3.2.5 bool类型 26
- 3.2.6 枚举类型 27
- 3.2.7 结构类型 28
- 3.3 引用类型 28
- 3.3.1 类类型 28
- 3.3.2 对象类型 28
- 3.3.3 字符串类型 29
- 3.3.4 数组类型 29
- 3.3.5 接口类型 30
- 3.3.6 委托类型 30
- 3.4 装箱和拆箱 30
- 3.4.1 装箱 31
- 3.4.2 拆箱 31
- 3.5 小结 31
- 3.6 习题 32
- 第4章变量(教学视频:45分钟) 34
- 4.1 什么是变量 34
- 4.2 变量的类型 35
- 4.2.1 静态变量 35
- 4.2.2 实例变量 36
- 4.2.3 局部变量 37
- 4.2.4 值参数 38
- 4.2.5 引用参数 38
- 4.2.6 输出参数 39
- 4.2.7 数组元素 40
- 4.3 对变量赋值 40
- 4.4 变量转换 41
- 4.4.1 隐式转换 41
- 4.4.2 显式转换 41
- 4.5 小结 42
- 4.6 习题 42
- 第5章表达式和运算符(教学视频:59分钟) 44
- 5.1 运算的最小单位——表达式 44
- 5.1.1 表达式分类 44
- 5.1.2 this关键字 44
- 5.1.3 new关键字 45
- 5.2 运算的核心——运算符 46
- 5.2.1 算术运算符 46
- 5.2.2 自增、自减运算符 47
- 5.2.3 逻辑运算符 49
- 5.2.4 条件运算符 51
- 5.2.5 条件逻辑运算符 52
- 5.2.6 移位运算符 53
- 5.2.7 关系运算符 54
- 5.2.8 赋值运算符 55
- 5.2.9 运算优先级 56
- 5.2.10 类型转换 57
- 5.3 小结 58
- 5.4 习题 58
- 第6章程序最小单位——语句(教学视频:70分钟) 61
- 6.1 什么是语句 61
- 6.2 基本语句 62
- 6.2.1 没有功能的语句——空语句 62
- 6.2.2 标记语句 62
- 6.2.3 表达式语句 63
- 6.2.4 声明语句 63
- 6.2.5 块 63
- 6.3 选择语句 64
- 6.3.1 如果…就…——if语句 64
- 6.3.2 当…就…——switch语句 66
- 6.4 迭代语句 69
- 6.4.1 for语句 69
- 6.4.2 foreach语句 71
- 6.4.3 while语句 72
- 6.4.4 do语句 74
- 6.5 跳转语句 76
- 6.5.1 跳出语句break 76
- 6.5.2 继续下一次循环语句continue 77
- 6.5.3 返回语句return 78
- 6.5.4 抛出语句throw 78
- 6.6 其他语句 79
- 6.6.1 try语句 80
- 6.6.2 using语句 81
- 6.6.3 lock语句 82
- 6.6.4 checked和unchecked语句 83
- 6.7 小结 83
- 6.8 习题 83
- 第7章命名空间(教学视频:27分钟) 85
- 7.1 什么是命名空间 85
- 7.2 声明命名空间 85
- 7.3 .(点号)运算符 87
- 7.4 ::(双冒号)运算符 88
- 7.5 using指令 89
- 7.5.1 导入命名空间 89
- 7.5.2 创建命名空间或类型别名 91
- 7.6 .NET Framework常用命名空间 92
- 7.7 小结 94
- 7.8 习题 94
- 第8章类(教学视频:81分钟) 96
- 8.1 什么是类 96
- 8.1.1 声明类 96
- 8.1.2 设置类的访问权限 96
- 8.1.3 继承类 98
- 8.1.4 类、对象和实例化 99
- 8.2 类的组成 99
- 8.2.1 常量 99
- 8.2.2 字段 101
- 8.2.3 方法 102
- 8.2.4 属性 107
- 8.2.5 索引器 108
- 8.2.6 构造函数 110
- 8.2.7 析构函数 113
- 8.2.8 事件 113
- 8.3 小结 113
- 8.4 习题 114
- 第9章结构(教学视频:15分钟) 116
- 9.1 结构概述 116
- 9.2 结构成员 117
- 9.3 结构和类的区别 117
- 9.3.1 继承 118
- 9.3.2 this保留字 118
- 9.3.3 构造函数 119
- 9.4 小结 120
- 9.5 习题 120
- 第10章数组(教学视频:11分钟) 122
- 10.1 使用数组 122
- 10.1.1 数组的基准——维度数 122
- 10.1.2 声明数组 122
- 10.1.3 实例化数组 123
- 10.1.4 初始化数组 123
- 10.1.5 遍历数组 125
- 10.2 数组的类型 127
- 10.2.1 一维数组 127
- 10.2.2 二维数组 128
- 10.2.3 多维数组 130
- 10.2.4 交错数组 131
- 10.3 静态数组System.Array 133
- 10.3.1 常用属性概览 133
- 10.3.2 常用方法概览 134
- 10.3.3 获取数组长度 135
- 10.3.4 获取元素的值 137
- 10.3.5 设置元素的值 138
- 10.3.6 获取元素的索引 140
- 10.3.7 排序数组 141
- 10.3.8 反转数组 141
- 10.4 动态数组System.ArrayList 142
- 10.4.1 常用属性概览 143
- 10.4.2 常用方法概览 144
- 10.4.3 添加元素 145
- 10.4.4 移除元素 146
- 10.5 小结 147
- 10.6 习题 147
- 第2篇面向对象技术深入
- 第11章接口(教学视频:35分钟) 152
- 11.1 使用接口 152
- 11.1.1 声明接口 152
- 11.1.2 设定接口的访问权限 152
- 11.1.3 继承接口 153
- 11.2 接口的组成 155
- 11.2.1 属性 155
- 11.2.2 索引器 155
- 11.2.3 方法 156
- 11.2.4 事件 156
- 11.3 实现接口 156
- 11.3.1 实现属性 157
- 11.3.2 实现索引器 158
- 11.3.3 实现方法 158
- 11.3.4 实现事件 159
- 11.4 抽象类和接口 161
- 11.5 小结 162
- 11.6 习题 162
- 第12章委托和事件(教学视频:33分钟) 165
- 12.1 使用委托 165
- 12.1.1 声明委托 165
- 12.1.2 向委托注册方法 166
- 12.1.3 实例化委托 166
- 12.1.4 构建委托的方法列表 168
- 12.1.5 调用委托 169
- 12.2 使用事件 170
- 12.2.1 声明事件 171
- 12.2.2 注册事件 171
- 12.2.3 移除事件 172
- 12.2.4 调用事件 173
- 12.3 小结 174
- 12.4 习题 174
- 第13章异常处理(教学视频:21分钟) 177
- 13.1 什么是异常 177
- 13.1.1 导致异常的原因 177
- 13.1.2 捕捉异常——try语句 177
- 13.1.3 异常处理流程 180
- 13.2 异常的基类System.Exception 180
- 13.3 常用异常类 181
- 13.4 小结 183
- 13.5 习题 183
- 第14章泛型(教学视频:29分钟) 185
- 14.1 什么是泛型 185
- 14.1.1 类型形参 185
- 14.1.2 设置类型形参的约束 186
- 14.1.3 声明泛型类 187
- 14.1.4 泛型类的成员 187
- 14.1.5 泛型类的静态字段 188
- 14.2 泛型方法 188
- 14.2.1 声明泛型方法 188
- 14.2.2 调用泛型方法 189
- 14.2.3 通过委托调用泛型方法 190
- 14.2.4 虚泛型方法 191
- 14.3 小结 192
- 14.4 习题 192
- 第15章分部类型和可空类型(教学视频:27分钟) 194
- 15.1 使用分部类型 194
- 15.1.1 声明分部类 194
- 15.1.2 声明分部结构 195
- 15.1.3 声明分部接口 195
- 15.1.4 处理同名成员 196
- 15.1.5 处理基接口 197
- 15.2 使用可空类型 197
- 15.2.1 HasValue和Value属性 198
- 15.2.2 GetValueOrDefault()方法 199
- 15.2.3 bool?类型 199
- 15.3 小结 200
- 15.4 习题 200
- 第16章赋值(教学视频:36分钟) 202
- 16.1 使用隐型局部变量 202
- 16.1.1 声明隐型局部变量 202
- 16.1.2 使用隐型局部变量 203
- 16.2 使用对象初始化器 205
- 16.3 使用集合初始化器 206
- 16.4 使用匿名类型 207
- 16.5 使用匿名数组 209
- 16.6 小结 211
- 16.7 习题 211
- 第17章迭代器、匿名方法和扩展方法(教学视频:33分钟) 213
- 17.1 使用迭代器 213
- 17.1.1 创建非泛型迭代器 213
- 17.1.2 创建泛型迭代器 214
- 17.1.3 使用IEnumerator和IEnumerator接口 216
- 17.2 使用匿名方法 217
- 17.2.1 创建匿名方法 217
- 17.2.2 将匿名方法作为参数传递 218
- 17.3 使用扩展方法 218
- 17.3.1 声明扩展方法 219
- 17.3.2 导入扩展方法 220
- 17.3.3 调用扩展方法 220
- 17.4 小结 221
- 17.5 习题 221
- 第18章 Lambda表达式和查询表达式(教学视频:62分钟) 223
- 18.1 使用Lambda表达式 223
- 18.1.1 输入参数 223
- 18.1.2 表达式或语句块 224
- 18.2 查询表达式 224
- 18.2.1 from子句 225
- 18.2.2 select子句 227
- 18.2.3 where子句 228
- 18.2.4 let子句 229
- 18.2.5 orderby子句 229
- 18.2.6 group子句 230
- 18.2.7 into子句 231
- 18.2.8 join子句 232
- 18.3 小结 235
- 18.4 习题 236
- 第3篇 C#应用技术
- 第19章字符串处理(教学视频:78分钟) 240
- 19.1 String和StringBuilder类 240
- 19.1.1 String类 240
- 19.1.2 StringBuilder类 242
- 19.2 使用不变字符串 243
- 19.2.1 插入字符串 243
- 19.2.2 移除字符串 244
- 19.2.3 替换字符串 245
- 19.2.4 联接字符串 246
- 19.2.5 分隔字符串 248
- 19.2.6 填充字符串 249
- 19.2.7 查找字符串 250
- 19.2.8 获取子串 250
- 19.2.9 格式化字符串 251
- 19.3 使用可变字符串 254
- 19.3.1 插入字符串 254
- 19.3.2 追加字符串 255
- 19.3.3 移除字符串 256
- 19.3.4 替换字符串 256
- 19.3.5 复制字符串 258
- 19.4 小结 259
- 19.5 习题 259
- 第20章日期和时间处理(教学视频:36分钟) 261
- 20.1 DateTime结构 261
- 20.1.1 字段 261
- 20.1.2 属性 262
- 20.1.3 方法 263
- 20.2 TimeSpan结构 264
- 20.2.1 字段 265
- 20.2.2 属性 265
- 20.2.3 方法 266
- 20.3 使用日期和时间 267
- 20.3.1 格式化 267
- 20.3.2 计算时间差 268
- 20.3.3 追加时间 269
- 20.4 小结 269
- 20.5 习题 269
- 第21章 I/O流、目录和文件处理(教学视频:76分钟) 272
- 21.1 I/O流 272
- 21.1.1 文件流 272
- 21.1.2 内存流 275
- 21.2 操作文件 278
- 21.2.1 File类概览 279
- 21.2.2 FileInfo类概览 279
- 21.2.3 创建文件 280
- 21.2.4 写入文件 280
- 21.2.5 读取文件 282
- 21.2.6 移动文件 282
- 21.2.7 删除文件 284
- 21.3 操作目录 285
- 21.3.1 Directory类概览 285
- 21.3.2 DirectoryInfo类概览 286
- 21.3.3 创建目录 287
- 21.3.4 删除目录 288
- 21.3.5 移动目录 291
- 21.3.6 遍历目录 292
- 21.4 小结 293
- 21.5 习题 293
- 第22章 Windows窗体编程(教学视频:76分钟) 296
- 22.1 什么是Windows窗体应用程序 296
- 22.1.1 创建Windows窗体应用程序 296
- 22.1.2 应用程序起始点 296
- 22.1.3 配置程序集信息 298
- 22.2 常见控件 299
- 22.2.1 标签控件 299
- 22.2.2 图片框控件 299
- 22.2.3 文本框和富文本框 299
- 22.2.4 按钮控件 300
- 22.2.5 单项按钮和复选框 300
- 22.3 MainForm窗体设计 300
- 22.3.1 配置窗体属性 301
- 22.3.2 添加控件 301
- 22.3.3 创建等待对话框 302
- 22.3.4 添加窗体事件 303
- 22.4 使用对话框 304
- 22.4.1 颜色对话框 304
- 22.4.2 字体对话框 305
- 22.4.3 打开文件对话框 306
- 22.4.4 保存文件对话框 307
- 22.4.5 目录浏览对话框 309
- 22.4.6 对话框窗体 309
- 22.5 容器 311
- 22.5.1 面板 311
- 22.5.2 组合框 311
- 22.5.3 TabControl控件 312
- 22.5.4 容器窗体 312
- 22.6 数据网格视图控件 314
- 22.7 使用菜单和工具栏 316
- 22.7.1 使用菜单 316
- 22.7.2 使用工具栏 317
- 22.7.3 使用上下文菜单 318
- 22.8 运行应用程序 319
- 22.9 小结 319
- 22.10 习题 320
- 第23章使用GDI+绘图(教学视频:89分钟) 322
- 23.1 GDI+的构成 322
- 23.1.1 Graphics类 322
- 23.1.2 点和区域 325
- 23.1.3 颜色 327
- 23.1.4 刷 328
- 23.1.5 画笔 328
- 23.1.6 字体 329
- 23.2 绘制线条、形状和文本 331
- 23.2.1 创建Chapter23窗体应用程序 331
- 23.2.2 Paint事件 331
- 23.2.3 绘制直线 332
- 23.2.4 绘制折线 333
- 23.2.5 绘制曲线 334
- 23.2.6 绘制虚线 335
- 23.2.7 绘制矩形 336
- 23.2.8 绘制三角形 337
- 23.2.9 绘制多边形 338
- 23.2.10 绘制椭圆 339
- 23.2.11 绘制饼状图 340
- 23.2.12 绘制文本 342
- 23.3 小结 343
- 23.6 习题 343
- 第24章操作数据库(教学视频:91分钟) 345
- 24.1 什么是ADO NET 345
- 24.1.1 ADO NET组成结构 345
- 24.1.2 ADO NET基本对象 346
- 24.2 操作SQL Server数据库 351
- 24.2.1 创建Chapter24窗体应用程序 351
- 24.2.2 创建Data24数据库 351
- 24.2.3 连接数据库 352
- 24.2.4 读取数据 354
- 24.2.5 插入数据 355
- 24.2.6 修改数据 357
- 24.2.7 删除数据 359
- 24.2.8 使用DataGridView控件显示数据 361
- 24.2.9 使用ListView控件显示数据 362
- 24.2.10 使用TreeView控件显示数据 363
- 24.3 小结 365
- 24.4 习题 365
- 第4篇项目案例实战
- 第25章图书管理系统 368
- 25.1 系统总体设计 368
- 25.1.1 系统功能设计 369
- 25.1.2 图书管理系统组成 370
- 25.1.3 数据库设计 371
- 25.1.4 数据库实体类设计 373
- 25.1.5 应用程序主入口 373
- 25.1.6 应用程序全局变量 374
- 25.2 管理员模块 374
- 25.2.1 管理员登录 374
- 25.2.2 主窗口 377
- 25.2.3 分类管理 384
- 25.2.4 书籍管理 391
- 25.2.5 借阅书籍 397
- 25.3 学生和老师模块 402
- 25.3.1 学生或老师登录 402
- 25.3.2 主窗口 402
- 25.3.3 归还书籍 406
- 25.3.4 查看书籍信息 408
- 25.3.5 浏览书籍 411
- 25.3.6 借阅书籍 415
- 25.4 小结 415
- 第26章 P2P聊天工具 416
- 26.1 系统总体设计 416
- 26.1.1 系统功能设计 416
- 26.1.2 P2P聊天工具组成 416
- 26.2 P2P聊天工具类库实现 417
- 26.2.1 MainClass类 417
- 26.2.2 ViewMessage类 421
- 26.3 P2P聊天工具聊天窗口 421
- 26.4 小结 427
- 第27章我的校内网 428
- 27.1 系统总体设计 428
- 27.1.1 系统功能设计 428
- 27.1.2 校内网组成 429
- 27.1.3 数据库设计 429
- 27.1.4 数据库实体类设计 431
- 27.1.5 标题模块 432
- 27.1.6 配置文件Web.config 433
- 27.2 常用功能模块实现 433
- 27.2.1 登录页面 433
- 27.2.2 主页面 437
- 27.2.3 我的好友 439
- 27.2.4 添加好友 443
- 27.2.5 我的相册 447
- 27.2.6 上传照片 451
- 27.2.7 我的日志 455
- 27.2.8 添加日志 459
- 27.3 小结 462