• C#图解教程(第5版)
21年品牌 40万+商家 超1.5亿件商品

C#图解教程(第5版)

正版保障 假一赔十 可开发票

71.81 5.6折 129 全新

库存29件

广东广州
认证卖家担保交易快速发货售后保障

作者[美] 丹尼尔·索利斯(Daniel Solis)卡尔·施罗坦博尔(Cal Sc

出版社人民邮电出版社

ISBN9787115519184

出版时间2019-11

装帧平装

开本16开

定价129元

货号28488117

上书时间2024-10-27

兴文书店

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
导语摘要

本书是广受赞誉的《C# 图解教程》的*版本。作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式、朴实简洁的文字,并辅以大量表格和代码示例,全面、直观地阐述了C# 语言的各种特性。新版本除了精心修订旧版内容外,还全面涵盖了C# 6.0 和C# 7.0 的新增特性,比如局部函数、throw 表达式、name of 和空条件运算符、using static 指令、异常过滤器,等等。通过本书,读者能够快速、深入地理解C#,为自己的编程生涯打下良好的基础。



作者简介

丹尼尔·索利斯(Daniel Solis) 拥有20余年软件开发经验,微软、IBM等公司技术顾问。他不仅是深受读者爱戴和推崇的技术图书作家,而且也是享誉世界的技术培训专家,在美国和欧洲各地传授编程语言、Windows程序设计和Unix底层技术的经验和心得。 卡尔·施罗坦博尔(Cal Schrotenboer) 拥有20余年软件开发经验,精通C#,一直从事企业级软件开发。近十年来他还在加州的一些社区大学教授.NET相关课程。



目录

第 1 章 C#和.NET 框架    1

1.1 在.NET 之前 1

1.1.1 20 世纪90 年代末的Windows编程 1

1.1.2 下一代平台服务的目标 2

1.2 .NET 时代 2

1.2.1 .NET 框架的组成 2

1.2.2 大大改进的编程环境 3

1.3 编译成CIL 5

1.4 编译成本机代码并执行 6

1.5 CLR 7

1.6 CLI 8

1.7 各种缩写 9

1.8 C#的演化 9

1.9 C#和Windows 的演化 10

第 2 章 C#和.NET Core 11

2.1 .NET 框架的背景 11

2.2 为什么选择.NET Core(和Xamarin) 11

2.3 .NET Core 的目标 12

2.4 多平台支持 13

2.5 快速发展和升级 13

2.6 程序占用空间小、部署简单、版本问题少 13

2.7 开源社区支持 14

2.8 改进的应用程序性能 14

2.9 全新的开始 14

2.10 .NET Core 的发展 15

2.11 .NET 框架的未来 15

2.12 Xamarin 的适用之处 15

第3 章 C#编程概述 16

3.1 一个简单的C#程序 16

3.2 标识符 18

3.3 关键字 18

3.4 Main:程序的起始点 19

3.5 空白 19

3.6 语句 20

3.7 从程序中输出文本 21

3.7.1 Write 21

3.7.2 WriteLine 21

3.7.3 格式字符串 22

3.7.4 多重标记和值 23

3.7.5 格式化数字字符串 24

3.8 注释:为代码添加注解 28

3.8.1 关于注释的更多内容 28

3.8.2 文档注释 29

3.8.3 注释类型总结 29

第4 章 类型、存储和变量 30

4.1 C#程序是一组类型声明 30

4.2 类型是一种模板 31

4.3 实例化类型 31

4.4 数据成员和函数成员 32

4.5 预定义类型 33

4.6 用户定义类型 34

4.7 栈和堆 35

4.7.1 栈 35

4.7.2 堆 36

4.8 值类型和引用类型 37

4.8.1 存储引用类型对象的成员 38

4.8.2 C#类型的分类 38

4.9 变量 39

4.9.1 变量声明 39

4.9.2 多变量声明 41

4.9.3 使用变量的值 41

4.10 静态类型和dynamic 关键字 41

4.11 可空类型 42

第5 章 类的基本概念 43

5.1 类的概述 43

5.2 程序和类:一个简单的示例 44

5.3 声明类 45

5.4 类成员 45

5.4.1 字段 45

5.4.2 方法 47

5.5 创建变量和类的实例 48

5.6 为数据分配内存 48

5.7 实例成员 49

5.8 访问修饰符 50

5.9 从类的内部访问成员 52

5.10 从类的外部访问成员 53

5.11 综合应用 54

第6 章 方法 56

6.1 方法的结构 56

6.2 方法体内部的代码执行 57

6.3 局部变量 58

6.3.1 类型推断和var 关键字 59

6.3.2 嵌套块中的局部变量 59

6.4 局部常量 60

6.5 控制流 61

6.6 方法调用 62

6.7 返回值 63

6.8 返回语句和void 方法 64

6.9 局部函数 66

6.10 参数 66

6.10.1 形参 67

6.10.2 实参 67

6.11 值参数 69

6.12 引用参数 71

6.13 引用类型作为值参数和引用参数 73

6.14 输出参数 76

6.15 参数数组 79

6.15.1 方法调用 80

6.15.2 将数组作为实参 82

6.16 参数类型总结 83

6.17 ref 局部变量和ref 返回 83

6.18 方法重载 86

6.19 命名参数 87

6.20 可选参数 88

6.21 栈帧 91

6.22 递归 93

第7 章 深入理解类 95

7.1 类成员 95

7.2 成员修饰符的顺序 96

7.3 实例类成员 97

7.4 静态字段 98

7.5 从类的外部访问静态成员 98

7.5.1 静态字段示例 99

7.5.2 静态成员的生存期 100

7.6 静态函数成员 101

7.7 其他静态类成员类型 102

7.8 成员常量 102

7.9 常量与静态量 103

7.10 属性 103

7.10.1 属性声明和访问器 104

7.10.2 属性示例 105

7.10.3 使用属性 106

7.10.4 属性和关联字段 106

7.10.5 执行其他计算 107

7.10.6 只读和只写属性 108

7.10.7 属性与公有字段 109

7.10.8 计算只读属性示例 109

7.10.9 自动实现属性 110

7.10.10 静态属性 111

7.11 实例构造函数 112

7.11.1 带参数的构造函数 113

7.11.2 默认构造函数 114

7.12 静态构造函数 114

7.13 对象初始化语句 116

7.14 析构函数 117

7.15 readonly 修饰符 117

7.16 this 关键字 118

7.17 索引器 119

7.17.1 什么是索引器 120

7.17.2 索引器和属性 120

7.17.3 声明索引器 121

7.17.4 索引器的set 访问器 122

7.17.5 索引器的get 访问器 122

7.17.6 关于索引器的更多内容 123

7.17.7 为Employee 示例声明索引器 123

7.17.8 另一个索引器示例 124

7.17.9 索引器重载 125

7.18 访问器的访问修饰符 126

7.19 分部类和分部类型 127

7.20 分部方法 128

第8 章 类和继承 130

8.1 类继承 130

8.2 访问继承的成员 131

8.3 所有类都派生自object 类 132

8.4 屏蔽基类的成员 133

8.5 基类访问 135

8.6 使用基类的引用 135

8.6.1 虚方法和覆写方法 137

8.6.2 覆写标记为override 的方法 139

8.6.3 覆盖其他成员类型 142

8.7 构造函数的执行 142

8.7.1 构造函数初始化语句 144

8.7.2 类访问修饰符 145

8.8 程序集间的继承 146

8.9 成员访问修饰符 148

8.9.1 访问成员的区域 149

8.9.2 公有成员的可访问性 150

8.9.3 私有成员的可访问性 150

8.9.4 受保护成员的可访问性 150

8.9.5 内部成员的可访问性 151

8.9.6 受保护内部成员的可访问性 151

8.9.7 成员访问修饰符小结 152

8.10 抽象成员 153

8.11 抽象类 154

8.11.1 抽象类和抽象方法的示例 154

8.11.2 抽象类的另一个例子 155

8.12 密封类 156

8.13 静态类 156

8.14 扩展方法 157

8.15 命名约定 160

第9 章 表达式和运算符 162

9.1 表达式 162

9.2 字面量 163

9.2.1 整数字面量 164

9.2.2 实数字面量 165

9.2.3 字符字面量 166

9.2.4 字符串字面量 167

9.3 求值顺序 168

9.3.1 优先级 168

9.3.2 结合性 169

9.4 简单算术运算符 170

9.5 求余运算符 170

9.6 关系比较运算符和相等比较运算符 171

9.7 递增运算符和递减运算符 173

9.8 条件逻辑运算符 174

9.9 逻辑运算符 175

9.10 移位运算符 176

9.11 赋值运算符 178

9.12 条件运算符 179

9.13 一元算术运算符 181

9.14 用户定义的类型转换 181

9.15 运算符重载 184

9.15.1 运算符重载的示例 185

9.15.2 运算符重载的限制 186

9.16 typeof 运算符 189

9.17 nameof 运算符 190

9.18 其他运算符 191

第 10 章 语句 192

10.1 什么是语句 192

10.2 表达式语句 193

10.3 控制流语句 194

10.4 if 语句 194

10.5 if else 语句 195

10.6 while 循环 196

10.7 do 循环 197

10.8 for 循环 198

10.8.1 for 语句中变量的作用域 200

10.8.2 初始化和迭代表达式中的多表达式 200

10.9 switch 语句 201

10.9.1 分支示例 203

10.9.2 其他类型的模式表达式 203

10.9.3 switch 语句的补充 205

10.9.4 分支标签 206

10.10 跳转语句 207

10.11 break 语句 207

10.12 continue 语句 208

10.13 标签语句 209

10.13.1 标签 209

10.13.2 标签语句的作用域 209

10.14 goto 语句 210

10.15 using 语句 211

10.15.1 包装资源的使用 212

10.15.2 using 语句的示例 212

10.15.3 多个资源和嵌套 213

10.15.4 using 语句的另一种形式 214

10.16 其他语句 215

第 11 章 结构 216

11.1 什么是结构 216

11.2 结构是值类型 217

11.3 对结构赋值 218

11.4 构造函数和析构函数 219

11.4.1 实例构造函数 219

11.4.2 静态构造函数 220

11.4.3 构造函数和析构函数小结 221

11.5 属性和字段初始化语句 221

11.6 结构是密封的 221

11.7 装箱和拆箱 222

11.8 结构作为返回值和参数 222

11.9 关于结构的更多内容 222

第 12 章 枚举 223

12.1 枚举 223

12.1.1 设置底层类型和显式值 225

12.1.2 隐式成员编号 225

12.2 位标志 226

12.2.1 Flags 特性 229

12.2.2 使用位标志的示例 230

12.3 关于枚举的更多内容 231

第 13 章 数组 234

13.1 数组 234

13.1.1 定义 234

13.1.2 重要细节 235

13.2 数组的类型 235

13.3 数组是对象 236

13.4 一维数组和矩形数组 237

13.5 实例化一维数组或矩形数组 238

13.6 访问数组元素 238

13.7 初始化数组 239

13.7.1 显式初始化一维数组 240

13.7.2 显式初始化矩形数组 240

13.7.3 初始化矩形数组的语法点 241

13.7.4 快捷语法 241

13.7.5 隐式类型数组 241

13.7.6 综合内容 242

13.8 交错数组 242

13.8.1 声明交错数组 243

13.8.2 快捷实例化 243

13.8.3 实例化交错数组 244

13.8.4 交错数组中的子数组 245

13.9 比较矩形数组和交错数组 246

13.10 foreach 语句 247

13.10.1 迭代变量是只读的 248

13.10.2 foreach 语句和多维数组 249

13.11 数组协变 250

13.12 数组继承的有用成员 251

13.13 比较数组类型 254

13.14 数组与ref 返回和ref 局部变量 255

第 14 章 委托 256

14.1 什么是委托 256

14.2 委托概述 258

14.3 声明委托类型 259

14.4 创建委托对象 260

14.5 给委托赋值 261

14.6 组合委托 262

14.7 为委托添加方法 262

14.8 从委托移除方法 263

14.9 调用委托 263

14.10 委托的示例 264

14.11 调用带返回值的委托 265

14.12 调用带引用参数的委托 266

14.13 匿名方法 267

14.13.1 使用匿名方法 268

14.13.2 匿名方法的语法 268

14.13.3 变量和参数的作用域 270

14.14 Lambda 表达式 271

第 15 章 事件 274

15.1 发布者和订阅者 274

15.2 源代码组件概览 276

15.3 声明事件 276

15.4 订阅事件 277

15.5 触发事件 278

15.6 标准事件的用法 280

15.6.1 通过扩展EventArgs 来传递数据 281

15.6.2 移除事件处理程序 283

15.7 事件访问器 284

第 16 章 接口 286

16.1 什么是接口 286

16.2 声明接口 291

16.3 实现接口 292

16.4 接口是引用类型 294

16.5 接口和as 运算符 295

16.6 实现多个接口 295

16.7 实现具有重复成员的接口 296

16.8 多个接口的引用 298

16.9 派生成员作为实现 299

16.10 显式接口成员实现 300

16.11 接口可以继承接口 302

16.12 不同类实现一个接口的示例 303

第 17 章 转换 305

17.1 什么是转换 305

17.2 隐式转换 306

17.3 显式转换和强制转换 307

17.4 转换的类型 308

17.5 数字的转换 309

17.5.1 隐式数字转换 309

17.5.2 溢出检测上下文 310

17.5.3 显式数字转换 311

17.6 引用转换 315

17.6.1 隐式引用转换 316

17.6.2 显式引用转换 317

17.6.3 有效显式引用转换 318

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP