《C#程序设计经典300例》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:王骞,陈宇,管马舟编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2013
  • ISBN:9787121204654
  • 页数:472 页
图书介绍:本书分4篇29章。第一篇为基础篇,主要介绍C#的基本语法、面向对象的基础知识、程序中常用数据结构与算法、设计模式等。第二篇为窗体篇,主要介绍Windows窗体编程,以及常用控件和组件的使用方法。第三篇为应用篇,主要介绍多线程的使用、文件系统的管理、注册表技术运用、数据库的开发以及Office的访问。第四篇为新技术篇,主要介绍一些最新的技术(如GDI+绘图技术与自定义控件的完美结合),Vista的Aero磨砂玻璃特效、图像处理的常用算法、WPF技术、网络通信技术。

第一篇 基础篇 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