C#7.0核心技术指南约瑟夫阿坝哈瑞(Jospdf下载pdf下载

C#7.0核心技术指南约瑟夫阿坝哈瑞(Jos百度网盘pdf下载

作者:
简介:本篇主要提供C#7.0核心技术指南约瑟夫阿坝哈瑞(Jospdf下载
出版社:奥维博世图书专营店
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

 书名:  C# 7.0核心技术指南(原书第7版)|8062189
 图书定价: 259元
 图书作者: [美] 约瑟夫·阿坝哈瑞(Joseph Albahari) 本·阿坝哈瑞(Ben Albahari)
 出版社:  机械工业出版社
 出版日期:  2019/7/30 0:00:00
 ISBN号: 9787111631347
 开本: 16开
 页数: 1070
 版次: 1-1
 作者简介
[美] 约瑟夫·阿坝哈瑞(Joseph Albahari) 本·阿坝哈瑞(Ben Albahari)著:Joseph Albahari 是《C# 6.0 in a Nutshell》以及《LINQ Pocket Reference》的合著者。他编写了流行的代码执行器与 LINQ 查询辅助工具 LINQPad。

Ben Albahari 是《C# 6.0 in a Nutshell》的合著者。他曾就职于 Microsoft,并担任 Entity Framework 的项目经理。
 内容简介
本书是一本C#7.0的技术指南,通过26章的内容,系统、全面、细致地讲解了C#7.0从基础知识到各种高级特性的命令、语法和用法。本书的讲解深入浅出,同时为每一个知识点都专门设计了贴切、简单、易懂的学习案例,从而可以帮助读者准确地理解知识点的含义并快速地学以致用。
 目录

前言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 第一个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 类型或成员交叉引用2...