包邮 C# 7.0核心技术指南 原书第7版+C#入门经典 第8版书籍 共2册pdf下载pdf下载

包邮 C# 7.0核心技术指南 原书第7版+C#入门经典 第8版书籍 共2册百度网盘pdf下载

作者:
简介:本篇主要提供包邮 C# 7.0核心技术指南 原书第7版+C#入门经典 第8版书籍 共2册pdf下载
出版社:
出版时间:
pdf下载价格:9.00¥


预览


内容介绍

9787000049705



9787111631347 9787302517740



C# 7.0核心技术指南 原书第7版


目录




前言1

第1章 C#和.NET Framework简介7

1.1 面向对象7

1.2 类型安全性8

1.3 内存管理9

1.4 平台支持9

1.5 C#和CLR9

1.6 CLR和.NET Framework10

1.7 其他框架11

1.7.1遗留框架和小众框架12

1.7.2 Windows Runtime12

1.8 C#简史13

1.8.1 C# 7.0新特性14

1.8.2 C# 6.0新特性17

1.8.3 C# 5.0新特性18

1.8.4 C# 4.0新特性19

1.8.5 C# 3.0新特性19

1.8.6 C# 2.0新特性20

第2章 C#语言基础21

2.1 diyi个C#程序21

2.2 语法24

2.2.1 标识符和关键字24

2.2.2 字面量、标点与运算符26

2.2.3 注释26

2.3 类型基础27

2.3.1 预定义类型示例27

2.3.2 自定义类型示例28

2.3.3 转换30

2.3.4 值类型与引用类型31

2.3.5 预定义类型分类34

2.4 数值类型35

2.4.1 数值字面量36

2.4.2 数值转换38

2.4.3 算术运算符39

2.4.4 自增和自减运算符39

2.4.5 特殊整数类型运算39

2.4.6 8位和16位整数类型41

2.4.7 特殊的float和double值41

2.4.8 double和decimal的对比42

2.4.9 实数的舍入误差43

2.5 布尔类型和运算符43

2.5.1 布尔类型转换43

2.5.2 相等和比较运算符44

2.5.3 条件运算符44

2.6 字符串和字符45

2.6.1 char转换46

2.6.2 字符串类型46

2.7 数组48

2.7.1 默认数组元素初始化49

2.7.2 多维数组49

2.7.3 简化数组初始化表达式51

2.7.4 边界检查52

2.8 变量和参数52

2.8.1 栈和堆52

2.8.2 明确赋值54

2.8.3 默认值54

2.8.4 参数55

2.8.5 引用局部变量(C# 7)61

2.8.6 引用返回值(C# 7)61

2.8.7 var隐式类型局部变量61

2.9 表达式和运算符62

2.9.1 基础表达式63

2.9.2 空表达式63

2.9.3 赋值表达式63

2.9.4 运算符优先级和结合性64

2.9.5 运算符表64

2.10 null运算符68

2.10.1 null合并运算符68

2.10.2 null条件运算符(C# 6)68

2.11 语句69

2.11.1 声明语句69

2.11.2 表达式语句70

2.11.3 选择语句71

2.11.4 迭代语句75

2.11.5 跳转语句77

2.11.6其他语句78

2.12 命名空间79

2.12.1 using指令80

2.12.2 using static指令(C# 6)80

2.12.3 命名空间中的规则81

2.12.4 类型和命名空间别名83

2.12.5 高级命名空间特性83

第3章 在C#中创建类型86

3.1 类86

3.1.1 字段86

3.1.2 方法87

3.1.3 实例构造器89

3.1.4 对象初始化器92

3.1.5 this引用94

3.1.6 属性94

3.1.7 索引器97

3.1.8 常量98

3.1.9 静态构造器99

3.1.10 静态类100

3.1.11 终结器101

3.1.12 分部类型和方法101

3.1.13 nameof运算符(C#6)102

3.2 继承103

3.2.1 多态104

3.2.2 类型转换和引用转换104

3.2.3 虚函数成员107

3.2.4 抽象类和抽象成员108

3.2.5 隐藏继承成员108

3.2.6 密封函数和类110

3.2.7 base关键字110

3.2.8 构造器和继承110

3.2.9 重载和解析112

3.3 object类型112

3.3.1 装箱和拆箱113

3.3.2 静态和运行时类型检查114

3.3.3 GetType方法和typeof运算符115

3.3.4 ToString方法115

3.3.5 object的成员列表116

3.4 结构体116

3.5 访问权限修饰符118

3.5.1 示例118

3.5.2 友元程序集119

3.5.3 可访问性封顶119

3.5.4 访问权限修饰符的限制119

3.6 接口120

3.6.1 扩展接口121

3.6.2 显式接口实现121

3.6.3 虚方法实现接口成员122

3.6.4 在子类中重新实现接口122

3.6.5 接口和装箱124

3.7 枚举类型125

3.7.1 枚举类型转换126

3.7.2 标志枚举类型126

3.7.3 枚举运算符127

3.7.4 类型安全问题127

3.8 嵌套类型128

3.9 泛型130

3.9.1 泛型类型130

3.9.2 为什么需要泛型131

3.9.3 泛型方法132

3.9.4 声明类型参数133

3.9.5 typeof和未绑定泛型类型133

3.9.6 泛型的默认值134

3.9.7 泛型的约束134

3.9.8 继承泛型类型136

3.9.9 自引用泛型声明136

3.9.10 静态数据136

3.9.11 类型参数的转换137

3.9.12 协变138

3.9.13 逆变141

3.9.14 C#泛型和C++模板对比142

第4章 C#的高级特性143

4.1 委托143

4.1.1 用委托书写插件方法144

4.1.2 多播委托145

4.1.3 实例目标方法和静态目标方法147

4.1.4 泛型委托类型147

4.1.5 Func和Action委托148

4.1.6 委托和接口149

4.1.7 委托的兼容性150

4.2 事件152

4.2.1 标准事件模式154

4.2.2 事件访问器158

4.2.3 事件的修饰符159

4.3 Lambda表达式159

4.3.1 显式指定Lambda参数的类型160

4.3.2 捕获外部变量161

4.3.3 Lambda表达式和局部方法的对比163

4.4 匿名方法164

4.5 try语句和异常165

4.5.1 catch子句167

4.5.2 finally块168

4.5.3 抛出异常170

4.5.4 System.Exception的关键属性172

4.5.5 常用的异常类型172

4.5.6 TryXXX方法模式173

4.5.7 异常的替代方式173

4.6 可枚举类型和迭代器174

4.6.1 可枚举类型174

4.6.2 集合的初始化器175

4.6.3 迭代器176

4.6.4 迭代器语义177

4.6.5 组合序列178

4.7 可空类型180

4.7.1 Nullable结构体180

4.7.2 隐式和显式的可空对象转换180

4.7.3 装箱拆箱可空值181

4.7.4 运算符优先级提升181

4.7.5 在bool?上使用&和|运算符183

4.7.6 可空类型和null运算符183

4.7.7 可空类型的应用场景184

4.7.8 可空类型的替代方案184

4.8 扩展方法185

4.8.1 扩展方法链186

4.8.2 二义性与解析186

4.9 匿名类型188

4.10 元组(C# 7)189

4.10.1 元组元素命名190

4.10.2 ValueTuple.Create192

4.10.3 元组的解构192

4.10.4 元组的比较193

4.10.5 System.Tuple类193

4.11 特性193

4.11.1 特性类194

4.11.2 命名和位置特性参数194

4.11.3 特性的目标195

4.11.4 指定多个特性195

4.12 调用者信息特性195

4.13 动态绑定197

4.13.1 静态绑定与动态绑定197

4.13.2 自定义绑定198

4.13.3 语言绑定199

4.13.4 RuntimeBinderException200

4.13.5 动态类型的运行时表示200

4.13.6 动态转换201

4.13.7 var与dynamic201

4.13.8 动态表达式202

4.13.9 无动态接收者的动态调用202

4.13.10 动态表达式中的静态类型203

4.13.11 不可调用的函数204

4.14 运算符重载205

4.14.1 运算符函数206

4.14.2 重载等号和比较运算符206

4.14.3 自定义隐式和显式转换207

4.14.4 重载true和false208

4.15 不安全的代码和指针209

4.15.1 指针基础209

4.15.2 不安全的代码209

4.15.3 fixed语句209

4.15.4 指针取成员运算符210

4.15.5 数组210

4.15.6 void*211

4.15.7 指向非托管代码的指针212

4.16 预处理指令212

4.16.1 Conditional特性213

4.16.2 Pragma警告214

4.17 XML文档214

4.17.1 标准的XML文档标签215

4.17.2 用户定义标签217

4.17.3 类型或成员交叉引用217

第5章 框架概述219

5.1 .NET标准2.0221

5.1.1 旧版本.NET标准222

5.1.2 引用程序集222

5.2 CLR和核心框架223

5.2.1 系统类型223

5.2.2 文本处理223

5.2.3 集合223

5.2.4 查询224

5.2.5 XML224

5.2.6 诊断224

5.2.7 并发与异步225

5.2.8 流与I/O225

5.2.9 网络225

5.2.10 序列化225

5.2.11 程序集、反射和特性226

5.2.12 动态编程226

5.2.13 安全性226

5.2.14 高级线程功能226

5.2.15 并行编程227

5.2.16 应用程序域227

5.2.17 原生互操作性与COM互操作性227

5.3 应用技术227

5.3.1 用户界面API227

5.3.2 后台技术230

5.3.3 分布式系统技术232.................