第一篇 基础篇 1
第1章 开发环境 1
实例001创建控制台应用程序 1
实例002创建Windows窗体应用程序 4
实例003创建DLL动态链接库 6
第2章 语法基础 10
实例004从控制台输出整数类型——整数类型 10
实例005从控制台输出浮点类型——浮点类型 11
实例006判断矩形是否为正方形——结构体和布尔型 12
实例007利用枚举型描述动物类型——枚举类型 13
实例008修改圆柱体的高度和底面半径——引用类型 14
实例009计算圆形的面积——常量 16
实例010计算矩形的面积——变量 17
实例011实现简单计算器——算术运算符 18
实例012输出两个数之间的关系——关系运算符 20
实例013按字节提取整型数值——按位运算符 21
实例014对学生成绩进行分类——条件运算符 22
实例015求三个数中的最大值——三元运算符 22
实例016将两个数的值交换——函数的使用及引用传递 23
实例017求解正整数的阶乘——函数的递归调用及值传递 24
实例018求解多个数的乘法运算——函数参数输出 25
第3章 程序流程 27
实例019模拟超市商品打折——if条件判断语句 27
实例020判断字符串各字符类型——if-else条件判断语句 28
实例021将三个数从小到大输出——if-else嵌套使用 29
实例022输出酒店指定星期特价菜——switch选择语句 30
实例023判断1到10之间的素数和合数——多个case语句 32
实例024输出1到20之间的整数——while循环语句 33
实例025输出1到20之间的偶数——do-while循环语句 33
实例026求表达式1-2+3-4+…100的值——for循环语句 34
实例027用符号排列成三角形——for循环嵌套调用 35
实例028百钱买百鸡算法——for循环嵌套调用 36
实例029输出字符串中的每个字符——foreach循环语句 37
实例030输入数据不规范时捕获异常——异常处理语句 38
第4章 数组与集合 40
实例031存储多个学生姓名——一维数组 40
实例032生成学生成绩单——创建二维数组 41
实例033求学生总成绩——读取二维数组 42
实例034计算两个矩阵乘法——二维数组运算 43
实例035按月存储日期——交错数组 44
实例036生成学生信息表——ArravList的使用 46
实例037管理学生信息——List的使用 47
实例038生成省市信息表——Dictionary的使用 48
实例039简单的列车售票系统——二维数组的应用 50
实例040模拟舞伴配对问题——Queue的使用 51
实例041括号匹配检测——Stack的使用 53
第5章 字符串 55
实例042将古诗分行输出——System.Char类型 55
实例043判断古诗默写是否正确——Equals方法 56
实例044将古诗颠倒输出——Reverse方法 57
实例045提取古诗中的关键词语——Substring方法 58
实例046将数字按指定格式输出——格式化字符串 59
实例047将日期按指定格式输出——格式化日期 60
实例048将古诗按标点分割成句——Split方法 61
实例049古诗填空——Insert方法 62
实例050修改错误的古诗——Remove方法 63
实例051拼接错乱的古诗句——StringBuilder的使用 64
实例052验证IP地址字符串格式——Regex正则表达式 66
实例 053提取古诗中含有“明月”的诗句——Contains方法 67
实例054对古诗进行Base64编码——Base64编码 67
第6章 数据结构与算法 69
实例055将学生信息表顺序倒置——顺序线性表 69
实例056将两个学生信息表交叉合并——单链表 71
实例057将十进制数转换为八进制数——链栈 73
实例058判断一个字符串是否为回文——链队列 74
实例059将学生信息存储到二叉树中——二叉树 77
实例060遍历城市网——图 79
实例061对学生表的前10位学生成绩排序——直接插入排序 81
实例062将学生按成绩进行希尔排序——希尔排序 83
实例063求学生成绩的实际范围——双向冒泡排序 84
实例064求成绩合格的学生——快速排序 85
实例065求成绩在前10名的学生——直接选择排序 86
实例066将学生按成绩从低到高排序——堆排序 87
实例067将学生按成绩进行归并排序——二路归并排序 89
实例068将学生按年级和成绩进行排序——基数排序 91
实例069查找指定姓名的学生信息——顺序查找 93
实例070查找指定学号的学生信息——折半查找 94
实例071查询指定成绩的学生信息——二叉排序树 95
实例072按学生成绩构造哈希表——哈希表 97
第7章 类与结构 99
实例073创建员工信息表——类与对象 99
实例074统计工厂生产汽车的数量——静态类型与成员 101
实例075自定义日期类型——构造函数重载 102
实例076计算不同级别员工的工资——函数重载 103
实例077计算学生年级平均成绩——索引器 104
实例078旅行社费用计算——属性 106
实例079计算球、圆柱和圆锥的体积——继承 107
实例080输出不同员工的工作内容——继承方法 109
实例081动物园给不同的动物喂食——基类构造函数 110
实例082计算圆柱体和圆锥体表面积——多态 111
实例083图书馆管理学生借书权限——抽象类 113
实例084计算两个数的加、减、乘、除——接口 114
实例085模拟电话来电提醒——事件 116
实例086重新计算圆形和矩形的面积——基类事件 118
实例087输出学生表中男生的信息——委托 120
第8章 常用设计模式 123
实例088果园种植水果——简单工厂模式 123
实例089果园引进新品种——工厂方法模式 125
实例090开辟新的果园——抽象工厂模式 127
实例091建造不同的果园——建造者模式 130
实例092建造同样的果园——原型模式 133
实例093果园喷洒杀虫剂——单例模式 134
实例094种植不同种类的水果——外观模式 135
实例095果园改变种植方式——适配器模式 137
实例096果园改进种植方法——装饰者模式 139
实例097水果的销售——代理模式 141
实例098果园实现统一的种植方法——桥接模式 143
实例099水果的分级采摘和销售——组合模式 145
实例100不断更新的种植方法——策略模式 147
实例101果园的监控——观察者模式 149
实例102果园之间互换水果品种——中介者模式 150
实例103果农培育果树——访问者模式 153
第二篇 窗体篇 156
第9章 鼠标和键盘 156
实例104获取鼠标窗体坐标和屏幕坐标 156
实例105鼠标长时间按下事件 157
实例106根据区域设置鼠标类型 158
实例107创建鼠标图标 159
实例108限制鼠标活动范围 160
实例109隐藏和显示鼠标指针 161
实例110利用鼠标书写汉字 162
实例111按下Ctrl+Enter组合键实现窗体全屏 163
实例112屏蔽Alt+F4组合键 164
实例113使用Shift+方向键调整窗体大小 165
实例114录制并回放鼠标移动轨迹 166
实例115 模拟键盘输入 168
第10章 窗体设计 170
实例116特殊形状的窗体 170
实例117自动调整窗体中的控件 171
实例118窗体动态出现 172
实例119动态窗体背景 174
实例120窗体抖动 175
实例121窗体闪烁 176
实例122拖动无边框窗体 177
实例123实现多文档窗体 179
第11章 控件应用 181
实例124动态添加按钮——Button控件 181
实例125限制文本框输入内容——TextBox控件 183
实例126省市选择——ComboBox控件 184
实例127突出显示关键字——RichTextBox控件 186
实例128数据批处理——ListBox控件 186
实例129输入选课信息——CheckBox控件 188
实例130浏览磁盘目录——TreeView控件 189
实例131监控程序执行进度——ProgressBar控件 190
实例132窗体和控件的气泡提示——ToolTip控件 191
实例133通知区图标动画——NotifyIcon控件 192
实例134浏览学生信息——ListView控件 193
实例135窗体分块显示——SplitContainer控件 195
实例136窗体分页显示——TabControl控件 197
实例137功能菜单退出程序——MenuStrip控件 199
实例138通知区菜单退出程序——ContextMenuStrip控件 200
第12章 组件应用 202
实例139制作时钟——Timer组件 202
实例140读写系统日志——EventLog组件 203
实例141向文件中写入数据——BackgroundWorker组件 204
实例142密码错误提示——ErrorProvider组件 206
实例143打开控制台程序——Process组件 207
实例144制作动画——ImageList组件 208
实例145改变窗体背景颜色———ColorDialog对话框 209
实例146加载窗体背景图片——OpenFileDialog对话框 210
实例147改变控件字体——FontDialog对话框 212
第三篇 应用篇 214
第13章 多线程编程 214
实例148模拟群发祝福短信 214
实例149模拟铁路售票系统 215
实例150生产者与消费者模型 217
实例151检测用户在线时间 218
实例152求海量数据最大值 220
实例153端口扫描工具 222
实例154查找本地文件 223
实例155统计单词词频 224
实例156简单定时器工具 225
第14章 文件系统 227
实例157开启文件隐藏属性 227
实例158开启文件夹只读属性 228
实例159输出子文件夹路径 229
实例160统计文件数目 230
实例161批量重命名文件 231
实例162分割文件 232
实例163拼接文件 233
实例164加密文件 235
实例165解密文件 236
实例166二进制比较文件 238
实例167创建XML文档 239
实例168读写XML文档 241
实例169监控文件 242
实例170压缩文件 243
实例171解压缩文件 244
第15章 注册表技术 246
实例172应用程序开机自动启动 246
实例173禁止使用Windows任务管理器 248
实例174隐藏指定的磁盘驱动器 249
实例175禁止打开注册表 251
实例176实现注册表树形视图浏览器 253
实例177在注册表中搜索含有指定信息的项 255
第16章 数据库技术 258
实例178创建并连接学生数据库 258
实例179创建学生信息表 259
实例180插入学生信息 261
实例181修改学生成绩 262
实例182删除指定年级的学生信息 263
实例183查询成绩合格的学生 265
实例184输出全部学生信息 266
实例185在窗体上显示学生信息 267
实例186增加性别字段 267
实例187查询女生信息 269
实例188分组统计学生信息 270
实例189查询学生学号与姓名 271
第17章 访问Office 274
实例190创建Word文档 274
实例191保存Word文档 276
实例192向Word文档中添加页眉和页脚 277
实例193向Word文档中添加页码 278
实例194向Word文档中添加文字 280
实例195向Word文档中插入图片 281
实例196向Word文档中添加表格 282
实例197读取Word文档中的表格 284
实例198创建Excel表格 286
实例199保存Excel表格 288
实例200修改Excel表格 289
实例201读取Excel表格 291
第四篇 新技术篇 293
第18章 GDI+绘图技术 293
实例202在窗体上绘制各种形状 293
实例203在窗体上绘制不同样式的线段和矩形 296
实例204利用图片作为纹理绘制矩形 298
实例205利用渐变画刷绘制窗体背景 300
实例206在窗体上绘制文本 302
实例207在窗体上绘制图像 304
实例208创建并在窗体上绘制位图 306
第19章 自定义控件 308
实例209电子计时器控件 308
实例210创建位图按钮 310
实例211可用鼠标拖动的列表控件 312
实例212可水平和垂直显示的水晶按钮 314
实例213带滑动效果的滚动条 317
实例214类似开关的复选框 319
第20章 图像处理技术 322
实例215图像区域分割与提取 322
实例216基于差分的边缘检测与提取 325
实例217利用中值滤波使图像变得平滑 328
实例218增强图像对比度 329
实例219目标提取与区域标记 331
实例220图像的复杂变形 333
第21章 Aero技术 336
实例221带边框窗体实现Aero磨砂玻璃效果 336
实例222窗体指定区域实现Aero磨砂玻璃效果 339
实例223无边框窗体实现Aero磨砂玻璃效果 341
实例224不规则无边框窗体Aero磨砂玻璃效果 343
实例225 Aero磨砂玻璃窗体实现双缓存绘图 344
实例226用鼠标拖动无边框Aero磨砂玻璃窗体 346
实例227用鼠标调整无边框Aero磨砂玻璃窗体的大小 347
第22章 WPF技术 349
实例228创建WPF应用程序 349
实例229通过按钮修改窗体的颜色 352
实例230在窗体上显示字符串资源 354
实例231实现文本控件的互相绑定 356
实例232实现不同样式的按钮 357
实例233利用按钮模板实现自定义按钮 360
实例234利用数据模板显示学生信息列表 362
实例235实现几种不同单击事件的按钮 364
实例236利用画刷实现绚丽的按钮 365
实例237实现两个形状的多种组合 367
实例238实现鼠标控制3D立方体 368
第23章 反射 372
实例239动态加载程序集 372
实例240晚期绑定类型 373
实例241 利用接口代替反射 374
实例242利用晚期绑定反射特性 376
实例243利用反射制作程序集浏览器 378
实例244序列化存取类实例 380
实例245利用反射读取序列化类 383
第24章 网络编程技术 385
实例246同步服务端 385
实例247同步客户端 387
实例248异步服务端 389
实例249异步客户端 392
实例250简单聊天室服务端 394
实例251简单聊天室客户端 396
实例252实现局域网广播 398
实例253实现简单浏览器 400
实例254实现文件传输服务端 401
实例255实现文件传输客户端 403
实例256断点续传文件 405
实例257发送电子邮件 406
实例258接收电子邮件 408
实例259利用远程过程调用实现远程交互 411
第25章 多进程编程 414
实例260主进程调用多个子进程 414
实例261设计简单的系统任务管理器 415
实例262设计简单的系统服务管理器 417
实例263禁止进程多次开启 418
实例264实现进程间同步 420
实例265实现通用守护进程 421
第26章 与C/C++的交互 424
实例266 C/C++中的基本类型在C#中传递 424
实例267 C/C++中的结构体在C#中传递 428
实例268 C/C++中的指针在C#中传递 429
实例269 C/C++中的函数指针在C#中传递 431
实例270 C/C++中指针的指针在C#中传递 432
实例271利用WIN32的API改变窗体属性 433
实例272利用WIN32的API任意拖动窗体 434
第27章 系统管理 436
实例273获取操作系统版本号 436
实例274获取逻辑磁盘信息 437
实例275获取磁盘驱动器空间 438
实例276获取屏幕分辨率 439
实例277查询并修改本地IP地址 440
实例278监视内存使用状态 442
实例279监视CPU使用率 442
实例280利用硬件信息对程序加密 443
第28章 LINQ技术 446
实例281查询年龄大于 20岁的学生信息 446
实例282输出成绩在指定范围内的学生信息 449
实例283对学生成绩进行排序 449
实例284按年级和性别分组查询学生信息 450
实例285在数据库中创建学生信息表 451
实例286查询数据库成绩合格的男生信息 454
实例287从数据库中删除成绩不合格的学生信息 455
实例288在数据库中修改姓王的学生成绩 456
实例289降序排列数据库中各年级男生的成绩 457
实例290统计各年级学生成绩总分和平均年龄 458
实例291统计男生和女生成绩的最高分和最低分 458
实例292查询年龄在20岁以上和成绩在60分以下的学生 459
实例293查询数据库第11条到第15条的学生信息 460
第29章 并行处理技术 462
实例294利用并行技术判断素数 462
实例295并行计算中的中断和跳出 464
实例296并行计算中的异常处理 465
实例297并行计算中的安全集合 466
实例298利用并行循环生成超长随机数 468
实例299利用并行技术实现矩阵运算 469
实例300利用PLINQ实现集合的并行化查询 471