第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