| 作者 |
| (美)Paul Deitel(保罗 ? 戴特尔) Harvey Deitel(哈维 ? 戴特尔) |
| 丛书名 |
| 国外计算机科学教材系列 |
| 出版社 |
| 电子工业出版社 |
| ISBN |
| 9787121369292 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 本书是一本C#编程方面的优秀教材。在第五版的基础上,全书根据最新的C# 6规范进行了更新。除了讲解面向对象编程的类与对象、方法、控制语句、数组、继承、多态、异常处理、GUI、字符串和字符、文件和流、搜索与排序、泛型、集合、数据库等基本概念,还重点介绍了C# 6中新包含的功能,比如字符串插值、索引初始值设定项、null条件运算符等,并且专门讲解了函数式编程的相关特点。 |
| 目录 |
| 第1章 计算机、Internet和Visual C#简介 1 1.1 简介 1 1.2 在行业和研究领域的计算机与Internet 2 1.3 硬件和软件 3 1.4 数据层次 4 1.5 机器语言、汇编语言和高级语言 6 1.6 对象技术 7 1.7 Internet和WWW 9 1.8 C# 10 1.9 Microsoft的 .NET 13 1.10 Windows操作系统 14 1.11 Visual Studio集成开发环境 15 1.12 在Visual Studio Community中测试Painter程序 15 自测题 17 自测题答案 18 练习题 19 挑战题 20 与挑战题相关的资源 21 第2章 Visual Studio和可视化编程简介 22 2.1 简介 22 2.2 Visual Studio Community 2015 IDE概述 22 2.3 菜单栏和工具栏 26 2.4 Visual Studio IDE概览 27 2.5 Help菜单与上下文相关帮助 30 2.6 可视化编程:创建显示文本和图像的简单程序 30 2.7 小结 36 2.8 Web资源 36 摘要 37 术语表 38 自测题 38 自测题答案 39 练习题 39 第3章 C#编程入门 43 3.1 简介 44 3.2 一个简单程序:显示一行文本 44 3.3 在VIsual Studio中创建简单的程序 48 3.4 修改C#程序 52 3.5 字符串插值 54 3.6 另一个C#程序:整数相加 54 3.7 内存概念 57 3.8 算术运算 58 3.9 判断:相等性运算符与关系运算符 60 3.10 小结 64 摘要 64 术语表 66 自测题 67 自测题答案 68 练习题 70 挑战题 73 第4章 类、对象、方法和string简介 74 4.1 简介 75 4.2 测试一个Account类 75 4.3 包含实例变量、Set方法和Get方法的Account类 77 4.4 创建、编译和运行带两个类的Visual C#项目 81 4.5 包含Set方法和Get方法的软件工程 82 4.6 具有属性而不是Set方法和Get方法的Account类 82 4.7 自动实现的属性 85 4.8 Account类:用构造函数初始化对象 86 4.9 具有余额的Account类以及货币值处理 88 4.10 小结 92 摘要 93 术语表 96 自测题 97 自测题答案 97 练习题 98 挑战题 99 第5章 算法设计与控制语句(1) 100 5.1 简介 101 5.2 算法 101 5.3 伪代码 101 5.4 控制结构 102 5.5 if单选择语句 103 5.6 if…else双选择语句 104 5.7 Student类:嵌套if…else语句 107 5.8 while循环语句 109 5.9 形成算法:计数器控制循环 110 5.10 形成算法:标记控制循环 113 5.11 形成算法:嵌套控制语句 118 5.12 复合赋值运算符 121 5.13 增量运算符和减量运算符 122 5.14 简单类型 124 5.15 小结 124 摘要 125 术语表 127 自测题 128 自测题答案 129 练习题 130 挑战题 135 第6章 控制语句(2) 137 6.1 简介 138 6.2 计数器控制循环的实质 138 6.3 for循环语句 139 6.4 使用for语句的示例 141 6.5 程序:对偶数求和 142 6.6 程序:复利计算 143 6.7 do…while循环语句 145 6.8 switch多选择语句 146 6.9 AutoPolicy类案例分析:switch语句中的字符串 150 6.10 break和continue语句 152 6.11 逻辑运算符 153 6.12 结构化编程小结 158 6.13 小结 161 摘要 161 术语表 163 自测题 164 自测题答案 165 练习题 166 挑战题 169 第7章 方法:深入探究 170 7.1 简介 171 7.2 C#的代码包装 171 7.3 静态方法、静态变量和Math类 172 7.4 声明多参数方法 174 7.5 关于方法使用的说明 177 7.6 实参提升与强制转换 178 7.7 .NET Framework类库 179 7.8 案例分析:随机数生成方法 181 7.9 案例分析:机会游戏(引入枚举) 184 7.10 声明的作用域 188 7.11 方法调用栈与活动记录 190 7.12 方法重载 193 7.13 可选参数 194 7.14 命名参数 195 7.15 C# 6的表达式方法和属性 196 7.16 递归 196 7.17 值类型与引用类型 199 7.18 按值与按引用传递实参 199 7.19 小结 202 摘要 202 术语表 207 自测题 207 自测题答案 209 练习题 210 挑战题 215 第8章 数组以及异常处理简介 216 8.1 简介 217 8.2 数组 217 8.3 声明和创建数组 218 8.4 数组使用示例 219 8.5 用数组分析汇总结果以及异常处理 226 8.6 案例分析:模拟洗牌和发牌 228 8.7 将数组和数组元素传入方法 232 8.8 案例分析:GradeBook类用数组保存成绩 233 8.9 多维数组 237 8.10 案例分析:使用矩形数组的GradeBook类 241 8.11 变长实参表 245 8.12 使用命令行实参 246 8.13 (选修)按值与按引用传递数组 248 8.14 小结 251 摘要 251 术语表 254 自测题 254 自测题答案 255 练习题 256 拓展内容:建立自己的计算机 262 挑战题 267 第9章 LINQ和List集合简介 268 9.1 简介 268 9.2 用LINQ查询int数组 269 9.3 用LINQ查询Employee对象数组 272 9.4 集合 276 9.5 用LINQ查询泛型List集合 279 9.6 小结 281 9.7 Deitel的LINQ资源中心 282 摘要 282 术语表 284 自测题 284 自测题答案 284 练习题 284 第10章 类与对象:深入探究 286 10.1 简介 286 10.2 Time类案例分析以及抛出异常 287 10.3 控制对成员的访问 290 10.4 用this引用访问当前对象的成员 290 10.5 Time类案例分析:重载构造函数 292 10.6 默认构造函数和无参数构造函数 296 10.7 组合 297 10.8 垃圾回收与析构函数 299 10.9 静态类成员 300 10.10 只读实例变量 302 10.11 Class View与Object Browser 303 10.12 对象初始值设定项 304 10.13 运算符重载以及struct简介 305 10.14 Time类案例分析:扩展方法 308 10.15 小结 310 摘要 310 术语表 313 自测题 313 自测题答案 313 练习题 314 第11章 面向对象编程:继承 316 11.1 简介 316 11.2 基类与派生类 317 11.3 protected成员 318 11.4 基类与派生类的关系 319 11.5 派生类的构造函数 333 11.6 继承与软件工程 333 11.7 object类 334 11.8 小结 334 摘要 335 术语表 336 自测题 336 自测题答案 337 练习题 337 第12章 面向对象编程:多态与接口 339 12.1 简介 339 12.2 多态示例 340 12.3 演示多态行为 341 12.4 抽象类和抽象方法 343 12.5 案例分析:使用多态的工资系统 345 12.6 sealed方法和类 355 12.7 案例分析:创建和使用接口 356 12.8 小结 362 摘要 362 术语表 364 自测题 364 自测题答案 364 练习题 365 挑战题 366 第13章 异常处理:深入探究 367 13.1 简介 368 13.2 示例:除数为0不用异常处理 368 13.3 示例:处理DivideByZeroException和FormatException异常 370 13.4 .NET的Exception层次 374 13.5 finally语句块 375 13.6 using语句 380 13.7 Exception属性 381 13.8 用户定义异常类 384 13.9 检验空引用以及C# 6的“?.”运算符 387 13.10 异常过滤器与C# 6的when子句 389 13.11 小结 389 摘要 389 术语表 392 自测题 392 自测题答案 393 练习题 393 第14章 图形用户界面与Windows窗体(1) 395 14.1 简介 395 14.2 Windows窗体 396 14.3 事件处理 398 14.4 控件的属性和布局 403 14.5 标签、文本框和按钮 406 14.6 组框和面板 408 14.7 复选框和单选钮 410 14.8 图形框 416 14.9 工具提示 418 14.10 数字上下控件 419 14.11 鼠标事件处理 420 14.12 键事件处理 422 14.13 小结 424 摘要 424 术语表 428 自测题 429 自测题答案 429 练习题 430 挑战题 431 第15章 图形用户界面与Windows窗体(2) 433 15.1 简介 433 15.2 菜单 434 15.3 MonthCalendar控件 440 15.4 DateTimePicker控件 441 15.5 LinkLabel控件 443 15.6 ListBox控件 446 15.7 CheckedListBox控件 449 15.8 ComboBox控件 450 15.9 TreeView控件 453 15.10 ListView控件 457 15.11 TabControl控件 462 15.12 多文档界面(MDI)窗口 465 15.13 可视化继承 470 15.14 用户定义的控件 474 15.15 小结 476 摘要 476 术语表 479 自测题 480 自测题答案 480 练习题 481 第16章 字符串和字符:深入探究 483 16.1 简介 483 16.2 字符和字符串基础 484 16.3 string构造函数 484 16.4 string索引器、Length属性和CopyTo方法 485 16.5 字符串比较 487 16.6 查找字符串中的字符和子串 489 16.7 抽取字符串中的子串 491 16.8 拼接字符串 492 16.9 其他的string方法 492 16.10 StringBuilder类 493 16.11 StringBuilder类的Length属性、Capacity属性、EnsureCapacity方法 以及索引器 494 16.12 StringBuilder类的Append和AppendFormat方法 495 16.13 StringBuilder类的Insert、Remove和Replace方法 497 16.14 几个Char方法 499 16.15 (在线)正则表达式处理简介 501 16.16 小结 501 摘要 501 术语表 503 自测题 503 自测题答案 504 练习题 504 挑战题 504 第17章 文件和流 506 17.1 简介 506 17.2 文件和流 506 17.3 创建顺序访问文本文件 507 17.4 从顺序访问文本文件读取数据 513 17.5 案例分析:信用查询程序 516 17.6 序列化 520 17.7 用对象序列化创建顺序访问文件 521 17.8 从二进制文件读取和去序列化数据 524 17.9 File类和Directory类 525 17.10 小结 531 摘要 532 术语表 533 自测题 534 自测题答案 534 练习题 535 挑战题 536 第18章 搜索与排序 537 18.1 简介 537 18.2 搜索算法 538 18.3 排序算法 544 18.4 搜索算法和排序算法的效率 553 18.5 小结 554 摘要 554 术语表 556 自测题 556 自测题答案 556 练习题 556 第19章 定制链式数据结构 559 19.1 简介 559 19.2 简单类型struct以及装箱和拆箱 559 19.3 自引用类 560 19.4 链表 561 19.5 栈 569 19.6 队列 572 19.7 树 575 19.8 小结 584 摘要 584 术语表 586 自测题 586 自测题答案 587 练习题 587 拓展内容:建立自己的编译器 589 第20章 泛型 590 20.1 简介 590 20.2 泛型方法的由来 591 20.3 泛型方法的实现 592 20.4 类型约束 594 20.5 重载泛型方法 597 20.6 泛型类 597 20.7 小结 604 摘要 604 术语表 606 自测题 606 自测题答案 607 练习题 607 第21章 泛型集合以及LINQ/PLINQ函数式编程 609 21.1 简介 610 21.2 集合概述 611 21.3 Array类和枚举器 612 21.4 字典集合 615 21.5 泛型LinkedList集合 619 21.6 C# 6的null条件运算符“?[ ]” 623 21.7 C# 6的字典和集合初始值设定项 623 21.8 代理 624 21.9 lambda表达式 626 21.10 函数式编程简介 628 21.11 用LINQ方法调用语法和lambda表达式进行函数式编程 630 21.12 PLINQ:提升LINQ to Objects在多核处理器上的性能 634 21.13 (选修)泛型类型的协变和逆变 637 21.14 小结 638 摘要 639 术语表 643 自测题 644 自测题答案 645 练习题 645 函数式编程练习 646 第22章 数据库和LINQ 648 22.1 简介 648 22.2 关系数据库 649 22.3 Books数据库 650 22.4 LINQ to Entities与ADO.NET实体框架 653 22.5 用LINQ查询数据库 654 22.6 动态绑定查询结果 663 22.7 用LINQ取得来自多个表的数据 667 22.8 创建主/细视图程序 671 22.9 地址簿案例分析 673 22.10 工具和Web资源 678 22.11 小结 678 摘要 678 术语表 681 自测题 682 自测题答案 682 练习题 683 第23章 async、await与异步编程 684 23.1 简介 684 23.2 async和await概述 686 23.3 在GUI程序中执行异步任务 686 23.4 同步执行两个计算密集型任务 689 23.5 异步执行两个计算密集型任务 691 23.6 使用HttpClient类异步调用Flickr Web服务 694 23.7 显示异步任务的进度 700 23.8 小结 703 摘要 703 术语表 706 自测题 707 自测题答案 707 练习题 707 附录A 运算符优先级表 709 附录B 简单类型 711 附录C ASCII字符集 712 索引 715 |