内容简介
第1章 计算机、Internet和Visual C#简介
1.1 简介
1.2 在行业和研究领域的计算机与Internet
1.3 硬件和软件
1.4 数据层次
1.5 机器语言、汇编语言和高级语言
1.6 对象技术
1.7 Internet和WWW
1.8 C
1.9 Microsoft的.NET
1.10 Windows操作系统
1.11 Visual Studio集成开发环境
1.12 在Visual Studio Community中测试Painter程序
自测题
自测题答案
练习题
挑战题
与挑战题相关的资源
第2章 Visual Studio和可视化编程简介
2.1 简介
2.2 Visual Studio Community 2015 IDE概述
2.3 菜单栏和工具栏
2.4 Visual Studio IDE概览
2.5 Help菜单与上下文相关帮助
2.6 可视化编程:创建显示文本和图像的简单程序
2.7 小结
2.8 Web资源
摘要
术语表
自测题
自测题答案
练习题
第3章 C#编程入门
3.1 简介
3.2 一个简单程序:显示一行文本
3.3 在VIsual Studio中创建简单的程序
3.4 修改C#程序
3.5 字符串插值
3.6 另一个C#程序:整数相加
3.7 内存概念
3.8 算术运算
3.9 判断:相等性运算符与关系运算符
3.10 小结
摘要
术语表
自测题
自测题答案
练习题
挑战题
第4章 类、对象、方法和string简介
4.1 简介
4.2 测试一个Account类
4.3 包含实例变量、Set方法和Get方法的Account类
4.4 创建、编译和运行带两个类的Visual C#项目
4.5 包含Set方法和Get方法的软件工程
4.6 具有属性而不是Set方法和Get方法的Account类
4.7 自动实现的属性
4.8 Account类:用构造函数初始化对象
4.9 具有余额的Account类以及货币值处理
4.10 小结
摘要
术语表
自测题
自测题答案
练习题
挑战题
第5章 算法设计与控制语句(1)
5.1 简介
5.2 算法
5.3 伪代码
5.4 控制结构
5.5 if单选择语句
5.6 if…else双选择语句
5.7 Student类:嵌套if…else语句
5.8 while循环语句
5.9 形成算法:计数器控制循环
5.10 形成算法:标记控制循环
5.11 形成算法:嵌套控制语句
5.12 复合赋值运算符
5.13 增量运算符和减量运算符
5.14 简单类型
5.15 小结
摘要
术语表
自测题
自测题答案
练习题
挑战题
第6章 控制语句(2)
6.1 简介
6.2 计数器控制循环的实质
6.3 for循环语句
6.4 使用for语句的示例
6.5 程序:对偶数求和
6.6 程序:复利计算
6.7 do…while循环语句
6.8 switch多选择语句
6.9 AutoPolicy类案例分析:switch语句中的字符串
6.10 break和continue语句
6.11 逻辑运算符
6.12 结构化编程小结
6.13 小结
摘要
术语表
自测题
自测题答案
练习题
挑战题
第7章 方法:深入探究
7.1 简介
7.2 C#的代码包装
7.3 静态方法、静态变量和Math类
7.4 声明多参数方法
7.5 关于方法使用的说明
7.6 实参提升与强制转换
7.7 .NET Framework类库
7.8 案例分析:随机数生成方法
7.9 案例分析:机会游戏(引入枚举)
7.10 声明的作用域
7.11 方法调用栈与活动记录
7.12 方法重载
7.13 可选参数
7.14 命名参数
7.15 C# 6的表达式方法和属性
7.16 递归
7.17 值类型与引用类型
7.18 按值与按引用传递实参
7.19 小结
摘要
术语表
自测题
自测题答案
练习题
挑战题
第8章 数组以及异常处理简介
8.1 简介
8.2 数组
8.3 声明和创建数组
8.4 数组使用示例
8.5 用数组分析汇总结果以及异常处理
8.6 案例分析:模拟洗牌和发牌
8.7 将数组和数组元素传入方法
8.8 案例分析:GradeBook类用数组保存成绩
8.9 多维数组
8.10 案例分析:使用矩形数组的GradeBook类
8.11 变长实参表
8.12 使用命令行实参
8.13 (选修)按值与按引用传递数组
8.14 小结
摘要
术语表
自测题
自测题答案
练习题
拓展内容:建立自己的计算机
挑战题
第9章 LINQ和List集合简介
9.1 简介
9.2 用LINQ查询int数组
9.3 用LINQ查询Employee对象数组
9.4 集合
9.5 用LINQ查询泛型List集合
9.6 小结
9.7 Deitel的LINQ资源中心
摘要
术语表
自测题
自测题答案
练习题
第10章 类与对象:深入探究
10.1 简介
10.2 Time类案例分析以及抛出异常
10.3 控制对成员的访问
10.4 用this引用访问当前对象的成员
10.5 Time类案例分析:重载构造函数
10.6 默认构造函数和无参数构造函数
10.7 组合
10.8 垃圾回收与析构函数
10.9 静态类成员
10.10 只读实例变量
10.11 Class View与Object Browser
10.12 对象初始值设定项
10.13 运算符重载以及struct简介
10.14 Time类案例分析:扩展方法
10.15 小结
摘要
术语表
自测题
自测题答案
练习题
第11章 面向对象编程:继承
11.1 简介
11.2 基类与派生类
11.3 protected成员
11.4 基类与派生类的关系
11.5 派生类的构造函数
11.6 继承与软件工程
11.7 object类
11.8 小结
摘要
术语表
自测题
自测题答案
练习题
第12章 面向对象编程:多态与接口
12.1 简介
12.2 多态示例
12.3 演示多态行为
12.4 抽象类和抽象方法
12.5 案例分析:使用多态的工资系统
12.6 sealed方法和类
12.7 案例分析:创建和使用接口
12.8 小结
摘要
术语表
自测题
自测题答案
练习题
挑战题
第13章 异常处理:深入探究
13.1 简介
13.2 示例:除数为0不用异常处理
13.3 示例:处理DivideByZeroException和FormatException异常
13.4 .NET的Exception层次
13.5 finally语句块
13.6 using语句
13.7 Exception属性
13.8 用户定义异常类
13.9 检验空引用以及C# 6的“?.”运算符
13.10 异常过滤器与C# 6的when子句
13.11 小结
摘要
术语表
自测题
自测题答案
练习题
第14章 图形用户界面与Windows窗体(1)
14.1 简介
14.2 Windows窗体
14.3 事件处理
14.4 控件的属性和布局
14.5 标签、文本框和按钮
14.6 组框和面板
14.7 复选框和单选钮
14.8 图形框
14.9 工具提示
14.10 数字上下控件
14.11 鼠标事件处理
14.12 键事件处理
14.13 小结
摘要
术语表
自测题
自测题答案
练习题
挑战题
第15章 图形用户界面与Windows窗体(2)
15.1 简介
15.2 菜单
15.3 MonthCalendar控件
15.4 DateTimePicker控件
15.5 LinkLabel控件
15.6 ListBox控件
15.7 CheckedListBox控件
15.8 ComboBox控件
15.9 TreeView控件
15.10 ListView控件
15.11 TabControl控件
15.12 多文档界面(MDI)窗口
15.13 可视化继承
15.14 用户定义的控件
15.15 小结
摘要
术语表
自测题
自测题答案
练习题
第16章 字符串和字符:深入探究
16.1 简介
16.2 字符和字符串基础
16.3 string构造函数
16.4 string索引器、Length属性和CopyTo方法
16.5 字符串比较
16.6 查找字符串中的字符和子串
16.7 抽取字符串中的子串
16.8 拼接字符串
16.9 其他的string方法
16.10 StringBuilder类
16.11 StringBuilder类的Length属性、Capacity属性、EnsureCapacity方法以及索引器
16.12 StringBuilder类的Append和AppendForrnat方法
16.13 StringBuilder类的Insert、Remove和Replace方法
16.14 几个Char方法
16.15 (在线)正则表达式处理简介
16.16 小结
摘要
术语表
自测题
自测题答案
练习题
挑战题
第17章 文件和流
17.1 简介
17.2 文件和流
17.3 创建顺序访问文本文件
17.4 从顺序访问文本文件读取数据
17.5 案例分析:信用查询程序
17.6 序列化
17.7 用对象序列化创建顺序访问文件
17.8 从二进制文件读取和去序列化数据
17.9 File类和Directory类
17.10 小结
摘要
术语表
自测题
自测题答案
练习题
挑战题
第18章 搜索与排序
18.1 简介
18.2 搜索算法
18.3 排序算法
18.4 搜索算法和排序算法的效率
18.5 小结
摘要
术语表
自测题
自测题答案
练习题
第19章 定制链式数据结构
19.1 简介
19.2 简单类型struct以及装箱和拆箱
19.3 自引用类
19.4 链表
19.5 栈
19.6 队列
19.7 树
19.8 小结
摘要
术语表
自测题
自测题答案
练习题
拓展内容:建立自己的编译器
第20章 泛型
20.1 简介
20.2 泛型方法的由来
20.3 泛型方法的实现
20.4 类型约束
20.5 重载泛型方法
20.6 泛型类
20.7 小结
摘要
术语表
自测题
自测题答案
练习题
第21章 泛型集合以及LINQ/PLINQ函数式编程
21.1 简介
21.2 集合概述
21.3 Array类和枚举器
21.4 字典集合
21.5 泛型LinkedList集合
21.6 C# 6的null条件运算符“?[]”
21.7 C# 6的字典和集合初始值设定项
21.8 代理
21.9 lambda表达式
21.10 函数式编程简介
21.11 用LINQ方法调用语法和lambda表达式进行函数式编程
21.12 PLINQ:提升LINQ to Objects在多核处理器上的性能
21.13 (选修)泛型类型的协变和逆变
21.14 小结
摘要
术语表
自测题
自测题答案
练习题
函数式编程练习
第22章 数据库和LINQ
22.1 简介
22.2 关系数据库
22.3 Books数据库
22.4 LINQ to Entities与ADONET实体框架
22.5 用LINQ查询数据库
22.6 动态绑定查询结果
22.7 用LINQ取得来自多个表的数据
22.8 创建主/细视图程序
22.9 地址簿案例分析
22.10 工具和Web资源
22.11 小结
摘要
术语表
自测题
自测题答案
练习题
第23章 async、await与异步编程
23.1 简介
23.2 async和await概述
23.3 在GUI程序中执行异步任务
23.4 同步执行两个计算密集型任务
23.5 异步执行两个计算密集型任务
23.6 使用HttpClient类异步调用Flickr Web服务
23.7 显示异步任务的进度
23.8 小结
摘要
术语表
自测题
自测题答案
练习题
附录A 运算符优先级表
附录B 简单类型
附录C ASCII字符集
索引