C# 7.0本质论+More Effective C#:改善C#代码的50个有效方法 C语言教材pdf下载pdf下载

C# 7.0本质论+More Effective C#:改善C#代码的50个有效方法 C语言教材百度网盘pdf下载

作者:
简介:本篇主要提供C# 7.0本质论+More Effective C#:改善C#代码的50个有效方法 C语言教材pdf下载
出版社:
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

商品基本信息,请以下列介绍为准
图书名称: C# 7.0本质论   More Effective C#:改善C#代码的50个有效方法
定价: 278.00
ISBN号: 9787111625681    9787111620716
出版社: 机械工业出版社


  编辑推荐
本书特色
深挖C# 7.0的诸多改进,包括元组、解构函数、模式匹配、本地函数和ref返回等
利用C#面向对象构造写出更健壮的代码
利用泛型、委托、Lambda表达式和事件降低代码复杂度
利用C# 7.0跨平台编译在Linux或MacOS上运行代码
全面掌握多线程处理和同步,包括async/await模式
包括C# 7.1/7.2/7.3语言增强 


  内容简介

作为历年来深受各层次开发人员欢迎的C#指南,本书讨论了从C# 3.0到7.0的*重要的C#特性,强调了现代编程模式,可帮助读者编写简洁、强大、健壮、安全和易于维护的C#代码。C#专家Mark Michaelis对语言进行了全面而深入的探讨,提供了对关键C# 7.0增强、C# 7.0和.NET Core/.NET Standard的配合使用以及跨平台编译的专业论述。他用简洁的例子阐释了关键C#构造,并提供了大量优秀实践编程规范,为你进行高效软件开发打好基础。

在本书中,世界的.NET专家Bill Wagner介绍了用于写出健壮且容易完成的C# 7.0代码的50条中阶至高阶技巧,反映了C#语言及其开发社区的发展,可帮助读者解决每日编程工作中可能遇到的问题。


  目录

第1章 C#概述 / 1
1.1 Hello, World / 1
1.2 C#语法基础 / 8
1.3 使用变量 / 14
1.4 控制台输入和输出 / 17
1.5 注释 / 20
1.6 托管执行和CLI / 22
1.7 多个.NET框架 / 26
1.8 小结 / 28
第2章 数据类型 / 29
2.1 基本数值类型 / 29
2.2 更多基本类型 / 36
2.3 null和void / 46
2.4 数据类型转换 / 47
2.5 小结 / 52
第3章 更多数据类型 / 53
3.1 类型的划分 / 53
3.2 可空修饰符 / 55
3.3 元组 / 57
3.4 数组 / 62
3.5 小结 / 74
第4章 操作符和控制流程 / 75
4.1 操作符 / 75
4.2 控制流程概述 / 87
4.3 代码块({}) / 91
4.4 代码块、作用域和声明空间 / 93
4.5 布尔表达式 / 94
4.6 按位操作符(<<,>>,|,&,^,~) / 101
4.7 控制流程语句(续) / 106
4.8 跳转语句 / 115
4.9 C#预处理器指令 / 119
4.10 小结 / 124
第5章 方法和参数 / 126
5.1 方法的调用 / 127
5.2 方法的声明 / 131
5.3 using指令 / 135
5.4 Main()的返回值和参数 / 139
5.5 高级方法参数 / 141
5.6 递归 / 149
5.7 方法重载 / 152
5.8 可选参数 / 154
5.9 用异常实现基本错误处理 / 157
5.10 小结 / 168
第6章 类 / 169
6.1 类的声明和实例化 / 172
6.2 实例字段 / 174
6.3 实例方法 / 176
6.4 使用this关键字 / 177
6.5 访问修饰符 / 183
6.6 属性 / 184
6.7 构造函数 / 197
6.8 静态成员 / 205
6.9 扩展方法 / 213
6.10 封装数据 / 214
6.11 嵌套类 / 216
6.12 分部类 / 218
6.13 小结 / 222
第7章 继承 / 223
7.1 派生 / 224
7.2 重写基类 / 232
7.3 抽象类 / 242
7.4 所有类都从System.Object派生 / 246
7.5 使用is操作符验证基础类型 / 247
7.6 用is操作符进行模式匹配 / 248
7.7 switch语句中的模式匹配 / 248
7.8 使用as操作符进行转换 / 250
7.9 小结 / 251
第8章 接口 / 252
8.1 接口概述 / 253
8.2 通过接口实现多态性 / 254
8.3 接口实现 / 258
8.4 在实现类和接口之间转换 / 262
8.5 接口继承 / 263
8.6 多接口继承 / 265
8.7 接口上的扩展方法 / 265
8.8 通过接口实现多继承 / 266
8.9 版本控制 / 269
8.10 比较接口和类 / 270
8.11 比较接口和特性 / 271
8.12 小结 / 271
第9章 值类型 / 272
9.1 结构 / 275
9.2 装箱 / 279
9.3 枚举 / 285
9.4 小结 / 293
第10章 合式类型 / 295
10.1 重写object的成员 / 295
10.2 操作符重载 / 305
10.3 引用其他程序集 / 311
10.4 定义命名空间 / 318
10.5 XML注释 / 320
10.6 垃圾回收 / 323
10.7 资源清理 / 325
10.8 推迟初始化 / 332
10.9 小结 / 333

第1章 处理各种类型的数据 / 1
第1条:使用属性而不是可直接访问的数据成员 / 1
第2条:尽量采用隐式属性来表示可变的数据 / 7
第3条:尽量把值类型设计成不可变的类型 / 11
第4条:注意值类型与引用类型之间的区别 / 16
第5条:确保 0 可以当成值类型的有效状态使用 / 21
第6条:确保属性能够像数据那样运用 / 25
第7条:用元组来限制类型的作用范围 / 30
第8条:在匿名类型中定义局部函数 / 35
第9条:理解相等的不同概念及它们之间的关系 / 40
第10条:留意GetHashCode()方法的使用陷阱 / 49
第2章 API设计 / 57
第11条:不要在API中提供转换运算符 / 57
第12条:尽量用可选参数来取代方法重载 / 61
第13条:尽量缩减类型的可见范围 / 65
第14条:优先考虑定义并实现接口,而不是继承 / 69
第15条:理解接口方法与虚方法之间的区别 / 77
第16条:用Event模式来实现通知功能 / 82
第17条:不要把类的内部对象通过引用返回给外界 / 87
第18条:优先考虑重写相关的方法,而不是创建事件处理程序 / 91
第19条:不要重载基类中定义的方法 / 94
第20条:了解事件机制为何会提升对象在运行期的耦合程度 / 98
第21条:不要把事件声明成virtual / 100
第22条:尽量把重载方法创建得清晰、简洁而完备 / 106
第23条:让 partial类的构造函数、mutator方法和事件处理程序调用适当的partial方法 / 112
第24条:尽量不要实现ICloneable接口,以便留出更多的设计空间 / 117
第25条:数组类型的参数应该用params加以修饰 / 122
第26条:在迭代器与异步方法中定义局部函数,以便尽早地报错 / 126
第3章 基于任务的异步编程 / 131
第27条:使用异步方法执行异步工作 / 131
第28条:不要编写返回值类型为void的异步方法 / 136
第29条:不要把同步方法与异步方法组合起来使用 / 141
第30条:使用异步方法以避免线程分配和上下文切换 / 146
第31条:避免不必要的上下文编组 / 147
第32条:通过Task对象来安排异步工作 / 151
第33条:考虑实现任务取消协议 / 157
第34条:缓存泛型异步方法的返回值 / 164
第4章 并行处理 / 167
第35条:了解PLINQ是怎样实现并行算法的 / 167
第36条:编写并行算法时要考虑异常状况 / 179
第37条:优先使用线程池而不是创建新的线程 / 185
第38条:考虑使用BackgroundWorker在线程之间通信 / 190
第39条:学会在XAML环境下执行跨线程调用 / 194
第40条:首先考虑用lock()实现同步 / 202
第41条:尽量缩减锁定范围 / 209
第42条:不要在加了锁的区域内调用未知的方法 / 212
第5章 动态编程 / 217
第43条:了解动态编程的优点及缺点 / 217
第44条:通过动态编程技术更好地运用泛型参数的运行期类型 / 226
第45条:使用DynamicObject和IDynamicMetaObjectProvider实现数据驱动的动态类型 / 229
第46条:学会正确使用Expression API / 240
第47条:尽量减少公有API中的动态对象 / 246
第6章 加入全球C#社区 / 253
第48条:*流行的写法不一定*合适 / 253
第49条:与大家一起制定规范并编写代码 / 255
第50条:考虑用分析器自动检查代码质量 / 256
中英文词汇对照表 / 258


  作者简介
Mark Michaelis是高端软件工程和咨询公司IntelliTect的创办者、首席技术架构师和培训师。Mark经常在开发者大会上发言,写过许多文章和书籍,目前是《MSDN Magazine》的《Essential .NET》专栏作家。
从1996年起,他一直是C#、Visual Studio Team System和Windows SDK的MVP。2007年被评选为微软的Regional Director。他还服务于微软的几个软件设计评审团队,包括C#和VSTS。
Mark拥有伊利诺伊大学哲学专业文学学士学位和伊利诺伊理工大学计算机硕士学位。
他不是痴迷于计算机,就是忙于陪伴家人或者玩壁球(2016年暂停铁人三项训练)。他居住在华盛顿州的斯波坎,他和妻子Elisabeth有三个孩子:Benjamin、Hanna和Abigail。
 
技术编辑简介
Eric Lippert目前在Facebook负责开发者工具。之前是微软C#语言设计团队的一员。不在StackOverflow上回答用户的C#问题或者编辑程序书时,他总是喜欢玩他的小帆船。目前和妻子Leah居住在华盛顿州的西雅图。