C# 7.0核心技术指南原书第7版  c#书籍c#高级编程c#项目开发实例C#技术权威指南计算机pdf下载pdf下载

C# 7.0核心技术指南原书第7版 c#书籍c#高级编程c#项目开发实例C#技术权威指南计算机百度网盘pdf下载

作者:
简介:本篇主要提供C# 7.0核心技术指南原书第7版 c#书籍c#高级编程c#项目开发实例C#技术权威指南计算机pdf下载
出版社:
出版时间:
pdf下载价格:9.00¥


预览


内容介绍




C# 7.0核心技术指南(原书第7版)
            定价 259.00
出版社 机械工业出版社
版次 1-1  
出版时间 2019年08月
开本 16
作者 约瑟夫·阿坝哈瑞
装帧 平装
页数 1072
字数
ISBN编码 9787111631347


内容介绍

本书是一本C#7.0的技术指南,通过26章的内容,系统、全面、细致地讲解了C#7.0从基础知识到各种高级特性的命令、语法和用法。本书的讲解深入浅出,同时为每一个知识点都专门设计了贴切、简单、易懂的学习案例,从而可以帮助读者准确地理解知识点的含义并快速地学以致用。



目录

前言1

dy 章 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 dy个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

第6章 框架基础234

6.1 字符串与文本处理234

6.1.1 字符234

6.1.2 字符串236

6.1.3 字符串的比较240

6.1.4 StringBuilder243

6.1.5 文本编码和Unicode244

6.2 日期和时间248

6.2.1 TimeSpan248

6.2.2 DateTime和DateTimeOffset249

6.3 日期和时区255

6.3.1 DateTime与时区256

6.3.2 DateTimeOffset与时区256

6.3.3 TimeZone和TimeZoneInfo257

6.3.4 夏令时与DateTime261

6.4 格式化和解析262

6.4.1 ToString和Parse263

6.4.2 格式提供器263

6.5 标准格式字符串与解析标记268

6.5.1 数字格式字符串268

6.5.2 NumberStyles270

6.5.3 Date/Time格式字符串272

6.5.4 DateTimeStyles275

6.5.5 枚举的格式字符串275

6.6 其他转换机制275

6.6.1 Convert类276

6.6.2 XmlConvert278

6.6.3 类型转换器278

6.6.4 BitConverter279

6.7 化279

6.7.1 化检查清单280

6.7.2 测试280

6.8 作数字281

6.8.1 转换281

6.8.2 Math281

6.8.3 BigInteger282

6.8.4 Complex283

6.8.5 Random284

6.9 枚举285

6.9.1 枚举值转换285

6.9.2 列举枚举值287

6.9.3 枚举的工作方式288

6.10 Guid结构体288

6.11 相等比较289

6.11.1 值相等和引用相等289

6.11.2 标准等值比较协议290

6.11.3 相等比较和自定义类型295

6.12 顺序比较300

6.12.1 IComparable300

6.12.2 <和>301

6.12.3 实现IComparable接口302

6.13实用类303

6.13.1 Console类303

6.13.2 Environment类304

6.13.3 Process类304

6.13.4 AppContext类306

第7章 集合307

7.1 枚举307

7.1.1 IEnumerable和IEnumerator308

7.1.2 IEnumerable和IEnumerator309

7.1.3 实现枚举接口311

7.2 ICollection和IList接口315

7.2.1 ICollection和ICollection316

7.2.2 IList和IList317

7.2.3 IReadOnlyList318

7.3 Array类318

7.3.1 创建和索引321

7.3.2 枚举322

7.3.3 长度和维数323

7.3.4 搜索323

7.3.5 排序325

7.3.6 反转数组元素326

7.3.7 复制数组326

7.3.8 转换和调整大小326

7.4 List、Queue、Stack和Set327

7.4.1 List和ArrayList327

7.4.2 LinkedList330

7.4.3 Queue和Queue332

7.4.4 Stack和Stack332

7.4.5 BitArray333

7.4.6 HashSet和SortedSet334

7.5 字典336

7.5.1 IDictionary336

7.5.2 IDictionary338

7.5.3 Dictionary和HashTable339

7.5.4 OrderedDictionary340

7.5.5 ListDictionary和HybridDictionary340

7.5.6 排序字典341

7.6 自定义集合与代理342

7.6.1 Collection和CollectionBase343

7.6.2 KeyedCollection和DictionaryBase345

7.6.3 ReadOnlyCollection348

7.7 扩展相等比较和排序 作349

7.7.1 IEqualityComparer和EqualityComparer350

7.7.2 IComparer和Comparer352

7.7.3 StringComparer353

...