第1章 c#与microsoft visual studio 1 1.1 c#与microsoft visual studio 1 1.1.1 c#简介 1 1.1.2 visual studio简介 3 1.2 .net framework 4 1.2.1 .net framework简介 4 1.2.2 .net framework与 visual studio 6 1.3 程序集 7 1.3.1 程序集概述 7 1.3.2 程序集优点 8 1.3.3 程序集内容 9 1.3.4 程序集清单 9 1.3.5 全局程序集缓存 10 1.3.6 程序集安全注意事项 11 1.3.7 程序集版本控制 12 1.4 配置.net framework环境 13 1.4.1 安装visual studio 2012 13 1.4.2 认识visual studio 2012 16 1.5 实验指导1-1:创建控制台 应用程序 17 1.6 命名空间 20 1.6.1 命名空间基础 20 1.6.2 命名空间的使用 21 1.7 实验指导1-2:创建窗体应用程序 23 1.8 思考与练习 24 第2章 c#基础语法 26 2.1 数据类型 26 2.1.1 常用数据类型简介 26 2.1.2 值类型 29 2.1.3 引用类型 30 2.2 数据进制与格式 32 2.2.1 十进制、二进制与十六 进制 32 2.2.2 字符串类型格式化 33 2.3 变量 35 2.3.1 变量的声明和初始化 35 2.3.2 变量的修饰 36 2.3.3 变量的命名规则 37 2.3.4 c#中的关键字 37 2.3.5 变量的作用域和生命周期 38 2.4 常量 39 2.5 类型转化 40 2.5.1 隐式类型转换 41 2.5.2 显式类型转换 42 2.5.3 字符串类型的转换 43 2.6 装箱和拆箱 44 2.6.1 装箱 44 2.6.2 拆箱 44 2.7 运算符与表达式 45 2.7.1 运算符分类 45 2.7.2 运算符的优先级 48 2.8 实验指导2-1:面积比较 49 2.9 注释与调试 49 2.9.1 注释 50 2.9.2 调试技巧 51 2.10 预处理命令 52 2.11 实验指导2-2:变量运算 54 2.12 思考与练习 55 第3章 控制语句 57 3.1 语句概述 57 3.1.1 语句分类 57 3.1.2 基本语句 58 3.1.3 语句块 58 3.2 选择语句 59 3.2.1 if语句 59 3.2.2 if else语句 60 3.2.3 if else if语句 61 3.2.4 switch语句 63 3.3 循环语句 66 3.3.1 for语句 66 3.3.2 do while语句 68 3.3.3 while语句 69 3.3.4 foreach in语句 70 3.4 嵌套语句 71 3.4.1 选择语句嵌套 72 3.4.2 循环语句嵌套 73 3.4.3 混合语句嵌套 73 3.5 跳转语句 74 3.5.1 break语句 74 3.5.2 continue语句 75 3.5.3 return语句 76 3.5.4 goto语句 77 3.6 异常处理语句 79 3.6.1 throw 79 3.6.2 try catch 79 3.6.3 try catch finally 82 3.7 实验指导3-1:输出等腰梯形 84 3.8 思考与练习 86 第4章 数组 88 4.1 数组概述 88 4.2 一维数组 88 4.2.1 一维数组简介 89 4.2.2 数组遍历 90 4.2.3 数组排序 91 4.2.4 插入数组元素 93 4.2.5 删除数组元素 95 4.3 二维数组 97 4.3.1 二维数组简介 97 4.3.2 二维数组遍历 98 4.4 多维数组 99 4.5 交错数组 100 4.6 静态数组 101 4.7 动态数组 103 4.7.1 动态数组的声明 104 4.7.2 属性和方法 104 4.7.3 动态数组应用 105 4.8 实验指导4-1:求矩阵外环和 107 4.9 思考与练习 109 第5章 面向对象编程基础 111 5.1 类简介 111 5.1.1 类概述 111 5.1.2 类的成员 112 5.1.3 访问修饰符 113 5.2 字段和属性 114 5.2.1 字段 115 5.2.2 属性 115 5.3 方法 117 5.3.1 方法概述 117 5.3.2 返回值 118 5.3.3 方法的定义 119 5.4 类和对象 119 5.4.1 对象 120 5.4.2 对象应用 120 5.4.3 参数传递 121 5.4.4 静态类和类成员 123 5.4.5 静态方法的调用 124 5.5 构造函数 125 5.6 析构函数 126 5.7 实验指导5-1:创建数据统计类 127 5.8 思考与练习 129 第6章 类的高级应用 131 6.1 封装 131 6.1.1 封装概述 131 6.1.2 封装的使用 132 6.2 继承 133 6.2.1 继承简述 133 6.2.2 抽象类及类成员 135 6.2.3 密封类 137 6.3 多态 139 6.3.1 重载 139 6.3.2 重写 141 6.3.3 虚函数 142 6.4 实验指导6-1:虚函数与抽象类 144 6.5 接口 145 6.5.1 接口简介 145 6.5.2 接口定义 146 6.5.3 实现接口 148 6.5.4 icomparable接口 150 6.5.5 icomparer接口 151 6.6 实验指导6-2:实现简单 数学运算 151 6.7 思考与练习 154 第7章 字符串 156 7.1 string类字符串 156 7.1.1 创建字符串 156 7.1.2 大小写转换 158 7.1.3 去除指定字符 159 7.1.4 合并字符串 160 7.1.5 替换字符 161 7.1.6 比较字符串 161 7.1.7 查找字符串 165 7.1.8 分隔字符串 166 7.1.9 截取字符串 167 7.1.10 移除字符串 168 7.2 stringbuilder类字符串 169 7.2.1 创建字符串 169 7.2.2 插入字符串 170 7.2.3 追加字符串 172 7.2.4 移除和替换 174 7.2.5 stringbuilder类的 其他常用成员 175 7.3 正则表达式 176 7.3.1 基本语法 176 7.3.2 正则表达式常用类 179 7.3.3 字符串验证 179 7.3.4 字符串替换 180 7.3.5 字符串拆分 181 7.3.6 获取匹配项 182 7.4 实验指导7-1:用户注册 184 7.5 思考与练习 187 第8章 其他常用类 189 8.1 时间和日期 189 8.1.1 timespan结构 189 8.1.2 datetime结构 193 8.1.3 datetime结构应用 195 8.1.4 格式化 199 8.1.5 计算时间差 200 8.2 数学类 201 8.2.1 math类简介 201 8.2.2 math类的应用 202 8.3 随机数 203 8.3.1 random类简介 203 8.3.2 随机数的应用 204 8.4 实验指导8-1:时间与随机数的 综合运算 205 8.5 思考与练习 206 第9章 枚举、结构和集合 208 9.1 枚举 208 9.1.1 枚举简介 208 9.1.2 声明枚举 209 9.1.3 使用枚举 210 9.1.4 转换枚举类型 211 9.1.5 使用enum类型 212 9.2 结构 215 9.2.1 结构简介 215 9.2.2 声明结构 216 9.2.3 使用结构 217 9.3 集合 218 9.3.1 c#内置集合概述 218 9.3.2 常见的几种集合类 219 9.3.3 arraylist集合类 220 9.3.4 stack集合类 221 9.3.5 queue集合类 223 9.3.6 bitarray集合类 225 9.3.7 sortedlist集合类 230 9.3.8 hashtable集合类 233 9.4 自定义集合类 236 9.5 泛型 239 9.5.1 泛型概述 239 9.5.2 泛型类 240 9.5.3 泛型方法 243 9.5.4 泛型参数 244 9.5.5 类型参数的约束 246 9.6 实验指导9-1:手机信息管理 248 9.7 思考与练习 250 第10章 委托和事件 252 10.1 委托 252 10.1.1 委托简介 252 10.1.2 委托的应用 253 10.1.3 方法绑定 255 10.2 事件 256 10.2.1 事件简介 256 10.2.2 事件的应用 257 10.3 实验指导10-1:多方法执行 259 10.4 实验指导10-2:信息修改 260 10.5 思考与练习 263 第11章 windows窗体控件 265 11.1 windows窗体概述 265 11.1.1 窗体概述 265 11.1.2 窗体控件的公有属性 268 11.1.3 窗体控件的公有事件 269 11.2 基本类型控件 271 11.2.1 基本控件 271 11.2.2 label控件 271 11.2.3 linklabel控件 273 11.2.4 button控件 274 11.2.5 textbox控件 275 11.2.6 richtextbox控件 276 11.2.7 maskedtextbox控件 279 11.3 选择类型控件 281 11.3.1 radiobutton控件 282 11.3.2 checkbox控件 284 11.4 图像显示类型控件 286 11.4.1 imagelist控件 286 11.4.2 picturebox控件 288 11.5 列表类型控件 291 11.5.1 combobox控件 291 11.5.2 listview控件 295 11.5.3 listbox控件 299 11.5.4 checkedlistbox控件 300 11.6 容器类型控件 302 11.6.1 tabcontrol控件 303 11.6.2 goupbox控件 305 11.6.3 panel控件 305 11.7 其他常用类型控件 306 11.7.1 datetimepicker控件 306 11.7.2 timer组件 307 11.7.3 notifyicon组件 308 11.8 实验指导11-1:会员信息登记 309 11.9 思考与练习 312 第12章 mdi应用程序 314 12.1 mdi应用程序 314 12.1.1 mdi概述 314 12.1.2 创建mdi父窗体 316 12.1.3 创建mdi子窗体 316 12.1.4 排列mdi子窗体 317 12.1.5 模式窗体和无模式窗体 318 12.2 高级控件 319 12.2.1 menustrip控件 319 12.2.2 contextmenustrip控件 323 12.2.3 toolstrip控件 324 12.2.4 statusstrip控件 325 12.3 常用对话框 327 12.3.1 消息对话框 327 12.3.2 字体对话框 330 12.3.3 颜色对话框 332 12.3.4 浏览目录对话框 333 12.3.5 打开文件对话框 334 12.3.6 保存文件对话框 336 12.4 实验指导12-1:窗体间的 数据传递 338 12.5 思考与练习 340 第13章 数据库编程 342 13.1 数据库开发基础 342 13.1.1 数据库开发技术简介 342 13.1.2 ado.net概述 343 13.1.3 .net framework数据 提供程序 344 13.2 数据库连接 345 13.2.1 数据库连接技术 345 13.2.2 sql server连接对象 346 13.2.3 连接sql server 346 13.3 数据操作 349 13.3.1 数据操作对象 349 13.3.2 sqlcommand对象 350 13.3.3 操作sql server数据 351 13.3.4 sqlparameter对象 352 13.3.5 含参数的数据操作 354 13.3.6 sqldatareader对象 355 13.4 实验指导13-1:数据显示 356 13.5 数据集对象 358 13.5.1 数据集对象简介 358 13.5.2 sqldataadapter对象 358 13.5.3 dataset对象 359 13.5.4 datatable对象 362 13.5.5 数据显示 364 13.5.6 dataview对象 367 13.5.7 sqldatareader对象与 dataset对象的区别 368 13.6 数据显示控件——datagridview 控件 369 13.6.1 datagridview控件的 常用属性和事件 369 13.6.2 在设计器中操作datagrid view控件 370 13.6.3 datagridview控件的 使用 372 13.7 实验指导13-2:用户注册 374 13.8 思考与练习 377 第14章 文件和io流 379 14.1 认识流 379 14.1.1 system.io命名空间 379 14.1.2 流抽象类 380 14.1.3 编码 381 14.1.4 内存流 382 14.1.5 文件流 384 14.2 获取文件系统信息 387 14.2.1 文件信息fileinfo类 387 14.2.2 目录信息directoryinfo类 390 14.2.3 驱动器信息driveinfo类 391 14.3 操作目录 393 14.3.1 directory类简介 393 14.3.2 创建目录 394 14.3.3 移动和重命名目录 394 14.3.4 删除目录 395 14.3.5 遍历目录 396 14.4 操作文件 398 14.4.1 file类简介 398 14.4.2 创建文件 399 14.4.3 移动和重命名文件 400 14.4.4 文件复制和删除 400 14.5 读取和写入文件 401 14.5.1 读取文件 401 14.5.2 写入文件 402 14.6 读写二进制文件 404 14.7 树形目录控件 406 14.7.1 treeview控件的常用 属性和事件 406 14.7.2 treeview的使用 408 14.8 实验指导14-1:文件管理 409 14.9 思考与练习 411 第15章 职工签到系统 413 15.1 系统概述 413 15.1.1 需求分析 413 15.1.2 功能分析 414 15.2 数据库设计 415 15.2.1 表的设计 415 15.2.2 存储过程设计 416 15.3 准备工作 418 15.3.1 搭建项目 418 15.3.2 添加引用 419 15.3.3 程序入口 420 15.3.4 数据库信息处理类 420 15.4 登录模块 423 15.5 注册 425 15.6 签到 427 附录 思考与练习答案 434