C#图解教程
2推荐 收藏
3.6K阅读
图灵程序设计丛书

C#图解教程

Daniel Solis (作者) 朱晔 , 苏林 (译者)
终止销售
本书是一本广受赞誉的C# 教程。它以图文并茂的形式,用朴实简洁的文字,并辅之以大量表格和代码示例,精炼而全面地阐述了最新版C# 语言的各种特性,使读者能够快速理解、学习和使用C#。同时, 本书还讲解了C#与VB 、C++ 等主流语言的不同点和相似之处。
本书是一本经典的C# 入门书,不仅适合没有任何编程语言基础的初级读者,而且还是有VB 、C++ 等语言基础的C# 初学者的最佳选择。
纸质书
¥65.00

其他购买方式?

出版信息

  • 书  名C#图解教程
  • 系列书名图灵程序设计丛书
  • 执行编辑关于本书的内容有任何问题,请联系 傅志红
  • 出版日期2008-12-01
  • 书  号978-7-115-18773-4
  • 定  价65.00 元
  • 页  数464
  • 开  本16开
  • 出版状态终止销售
  • 原书名Illustrated C# 2008
  • 原书号1-59059-954-3

同系列书

  • JavaScript高级程序设计(第4版)

    [美]马特·弗里斯比(Matt Frisbie)   李松峰   译

    本书是JavaScript经典图书的新版。第4版涵盖ECMAScript 2019,全面、深入地介绍了Java...

  • HTTP权威指南

    David Gourley   Brian Totty   Marjorie Sayer   Sailu Reddy   Anshu Aggarwal   陈涓   赵振平   译

    本书是HTTP及其相关核心Web技术方面的权威著作,主要介绍了Web应用程序是如何工作的,核心的因特网协议如何...

  • JavaScript高级程序设计(第3版)

    Nicholas C.Zakas   李松峰   曹力   译

    本书是JavaScript超级畅销书的新版。ECMAScript 5 和HTML5在标准之争中双双胜出,使大量...

  • 计算机科学的基础

    Al Aho   Jeff Ullman   傅尔也   译

    本书全面而详细地阐述了计算机科学的理论基础,从抽象概念的机械化到各种数据模型的建立,用算法、数据抽象等核心思想...

  • Python编程:从入门到实践(第2版)

    埃里克·马瑟斯(Eric Matthes)   袁国忠   译

    本书是针对所有层次Python读者而作的Python入门书。全书分两部分:第一部分介绍用Python编程所必须...

目录

第1章 C#和.NET框架 1
1.1 在.NET之前 1
1.1.1 20世纪90年代后期的Windows编程 1
1.1.2 下一代平台的目标 2
1.2 进入Microsoft .NET 2
1.2.1 .NET框架的组成 2
1.2.2 大大改进的编程环境 3
1.3 编译成CIL 4
1.4 编译成本机代码并执行 5
1.5 CLR 6
1.6 CLI 7
1.7 缩写回顾 8
第2章 C#编程概述 9
2.1 一个简单的C#程序 9
2.2 标识符和关键字 10
2.2.1 命名约定 11
2.2.2 关键字 12
2.3 Main:程序的起始点 12
2.4 空白 13
2.5 语句 13
2.5.1 简单语句 13
2.5.2 块 13
2.6 从程序中输出文本 14
2.6.1 Write 14
2.6.2 WriteLine 15
2.6.3 格式字符串 15
2.6.4 多重标记和值 16
2.7 注释 16
2.7.1 关于注释的补充 17
2.7.2 文档注释 17
2.7.3 注释类型总结 18
第3章 类型、存储和变量 19
3.1 C#程序是一组类型声明 19
3.2 类型是一种模板 20
3.3 实例化类型 20
3.4 数据成员和函数成员 21
3.5 预定义类型 21
3.6 用户定义类型 23
3.7 栈和堆 24
3.7.1 栈 24
3.7.2 堆 24
3.8 值类型和引用类型 25
3.8.1 存储引用类型对象的成员 26
3.8.2 C#类型的分类 27
3.9 变量 27
3.9.1 变量声明 27
3.9.2 多重变量声明 29
3.9.3 使用变量的值 29
第4章 类:基础 30
4.1 类的概述 30
4.2 程序和类:一个快速的示例 31
4.3 声明类 31
4.4 类成员 32
4.4.1 字段 32
4.4.2 显式和隐式字段初始化 33
4.4.3 声明多个字段 34
4.4.4 方法 34
4.5 创建变量和类的实例 35
4.6 为数据分配内存 35
4.7 实例成员 36
4.8 访问修饰符 37
4.9 从类的内部访问成员 39
4.10 从类的外部访问成员 40
4.11 综合应用 41
第5章 方法 43
5.1 方法的结构 43
5.2 本地变量 45
5.2.1 类型推断和var关键字 45
5.2.2 嵌套块中的本地变量 46
5.3 本地常量 47
5.4 方法调用 49
5.5 返回值 50
5.6 参数 52
5.6.1 形参 53
5.6.2 实参 53
5.6.3 带输入参数的方法示例 54
5.7 值参数 54
5.8 引用参数 56
5.9 输出参数 58
5.10 参数数组 60
5.10.1 方法调用 61
5.10.2 数组作实参 63
5.11 参数类型总结 64
5.12 栈帧 64
5.13 递归 65
5.14 方法重载 66
第6章 类进阶 69
6.1 类成员 69
6.2 实例类成员 71
6.3 静态字段 71
6.4 从类的外部访问静态成员 72
6.4.1 静态字段示例 73
6.4.2 静态成员的生存期 73
6.5 静态函数成员 74
6.6 其他静态类成员类型 75
6.7 成员常量 75
6.8 属性 77
6.8.1 属性声明和访问器 78
6.8.2 属性示例 78
6.8.3 使用属性 79
6.8.4 属性和关联字段 80
6.8.5 执行其他计算 81
6.8.6 只读和只写属性 82
6.8.7 计算只读属性示例 82
6.8.8 属性和数据库示例 83
6.8.9 自动实现属性 83
6.8.10 静态属性 84
6.9 实例构造函数 85
6.9.1 带参数的构造函数 86
6.9.2 默认构造函数 87
6.10 静态构造函数 88
6.10.1 静态构造函数示例 88
6.10.2 构造函数的可访问性 89
6.11 对象初始化列表 89
6.12 析构函数 90
6.12.1 调用析构函数 91
6.12.2 标准清理模式 93
6.13 比较构造函数和析构函数 94
6.14 readonly修饰符 94
6.15 this关键字 95
6.16 索引 96
6.16.1 什么是索引 97
6.16.2 索引和属性 98
6.16.3 声明索引 98
6.16.4 set访问器 99
6.16.5 get访问器 100
6.16.6 关于索引的补充 100
6.16.7 为Employee示例声明索引 100
6.16.8 另一个索引示例 101
6.16.9 索引重载 102
6.17 访问器的访问修饰符 103
6.18 分部类和分部类型 104
第7章 类和继承 107
7.1 类继承 107
7.2 访问继承的成员 108
7.3 隐藏基类的成员 110
7.4 基类访问 111
7.5 使用基类的引用 112
7.5.1 虚方法和覆写方法 114
7.5.2 覆写标记为override的方法 115
7.6 构造函数的执行 118
7.6.1 构造函数初始化语句 119
7.6.2 类访问修饰符 120
7.7 程序集间的继承 121
7.8 成员访问修饰符 123
7.8.1 访问成员的区域 123
7.8.2 公有成员的可访问性 124
7.8.3 私有成员的可访问性 125
7.8.4 受保护成员的可访问性 125
7.8.5 内部成员的可访问性 126
7.8.6 受保护内部成员的可访问性 126
7.8.7 成员访问修饰符的总结 126
7.9 抽象成员 127
7.10 抽象类 128
7.11 密封类 129
7.12 静态类 130
7.13 扩展方法 130
7.14 外部方法 133
第8章 表达式和运算符 135
8.1 表达式 135
8.2 字面量 136
8.2.1 整数字面量 137
8.2.2 实数字面量 137
8.2.3 字符字面量 138
8.2.4 字符串字面量 139
8.3 求值顺序 140
8.3.1 优先级 141
8.3.2 结合性 141
8.4 简单算术运算符 142
8.5 求余运算符 142
8.6 关系比较运算符和相等比较运算符 143
8.7 递增运算符和递减运算符 145
8.8 条件逻辑运算符 146
8.9 逻辑运算符 147
8.10 移位运算符 148
8.11 赋值运算符 150
8.12 条件运算符 151
8.13 一元算术运算符 152
8.14 用户定义类型转换 153
8.15 运算符重载 155
8.15.1 运算符重载的限制 156
8.15.2 运算符重载的示例 157
8.16 typeof运算符 158
第9章 语句 161
9.1 什么是语句 161
9.2 表达式语句 162
9.3 控制流语句 163
9.4 if语句 163
9.5 if…else语句 164
9.6 switch语句 165
9.6.1 分支示例 166
9.6.2 switch语句的补充 167
9.6.3 分支标签 168
9.7 while循环 169
9.8 do循环 169
9.9 for循环 170
9.9.1 for语句中变量的有效范围 172
9.9.2 初始化语句和迭代表达式中的多表达式 172
9.10 跳转语句 172
9.10.1 break语句 173
9.10.2 continue语句 173
9.11 标签语句 174
9.11.1 标签 174
9.11.2 标签语句的范围 175
9.12 goto语句 175
9.13 using语句 176
9.13.1 资源的包装使用 177
9.13.2 using语句的示例 178
9.13.3 多个资源和嵌套 179
9.13.4 using语句的另一种形式 180
9.14 其他语句 180
第10章 命名空间和程序集 181
10.1 引用其他程序集 181
10.2 命名空间 184
10.2.1 命名空间名称 186
10.2.2 命名空间的补充 187
10.2.3 命名空间跨文件伸展 188
10.2.4 嵌套命名空间 188
10.3 using指令 189
10.3.1 using命名空间指令 189
10.3.2 using别名指令 190
10.4 程序集的结构 191
10.5 程序集标识符 192
10.6 强命名程序集 193
10.7 程序集的私有方式部署 194
10.8 共享程序集和GAC 194
10.8.1 把程序集安装到GAC 194
10.8.2 GAC内的并肩执行 195
10.9 配置文件 196
10.10 延迟签名 196
第11章 异常 198
11.1 什么是异常 198
11.2 try语句 199
11.3 异常类 200
11.4 catch子句 200
11.4.1 使用特定catch子句的示例 201
11.4.2 catch子句段 202
11.5 finally块 203
11.6 为异常寻找处理代码 204
11.7 更进一步搜索 204
11.7.1 一般法则 205
11.7.2 搜索调用栈的示例 206
11.8 抛出异常 207
11.9 不带异常对象的抛出 208
第12章 结构 210
12.1 什么是结构 210
12.2 结构是值类型 211
12.3 对结构赋值 212
12.4 构造函数和析构函数 213
12.4.1 实例构造函数 213
12.4.2 静态构造函数 214
12.4.3 构造函数和析构函数的总结 214
12.5 字段初始化是不允许的 215
12.6 结构是密封的 215
12.7 装箱和取消装箱 215
12.8 结构作为返回类型和参数 215
12.9 关于结构的附加信息 215
第13章 枚举 217
13.1 枚举 217
13.1.1 设置底层类型和显式值 218
13.1.2 隐式成员编号 219
13.2 位标志 220
13.2.1 Flags特性 222
13.2.2 使用位标志的示例 223
13.3 关于枚举的补充 224
第14章 数组 226
14.1 数组 226
14.1.1 定义 226
14.1.2 重要细节 227
14.2 数组的类型 227
14.3 数组是对象 228
14.4 一维数组和矩形数组 229
14.5 实例化一维数组或矩形数组 229
14.6 访问数组元素 230
14.7 初始化数组 231
14.7.1 显式初始化一维数组 231
14.7.2 显式初始化矩形数组 232
14.7.3 初始化矩形数组的语法点 232
14.7.4 快捷语法 233
14.7.5 隐式类型数组 233
14.7.6 综合内容 234
14.8 交错数组 234
14.8.1 声明交错数组 235
14.8.2 快捷实例化 235
14.8.3 实例化交错数组 235
14.8.4 交错数组中的子数组 236
14.9 比较矩形数组和交错数组 237
14.10 foreach语句 238
14.10.1 迭代变量是只读的 239
14.10.2 foreach语句和多维数组 240
14.11 数组协变 241
14.12 数组继承的有用成员 242
14.13 比较数组类型 245
第15章 委托 246
15.1 什么是委托 246
15.2 声明委托类型 247
15.3 创建委托对象 248
15.4 赋值委托 249
15.5 组合委托 250
15.6 为委托增加方法 250
15.7 从委托移除方法 251
15.8 调用委托 251
15.9 委托的示例 252
15.10 调用带返回值的委托 253
15.11 调用带引用参数的委托 254
15.12 匿名方法 255
15.12.1 使用匿名方法 255
15.12.2 匿名方法的语法 256
15.12.3 变量和参数的作用域 257
15.13 Lambda表达式 259
第16章 事件 261
16.1 事件和委托相似 261
16.2 源代码组件概览 262
16.3 声明事件 263
16.3.1 事件是成员 263
16.3.2 委托类型和EventHandler 264
16.4 触发事件 264
16.5 订阅事件 265
16.6 标准事件的用法 267
16.6.1 使用EventArgs类 267
16.6.2 通过扩展EventArgs来传递数据 268
16.6.3 使用自定义委托 268
16.7 MyTimerClass代码 270
16.8 事件访问器 271
第17章 接口 273
17.1 什么是接口 273
17.2 声明接口 276
17.3 实现接口 277
17.4 接口是引用类型 278
17.5 接口和as运算符 280
17.6 实现多个接口 280
17.7 实现具有重复成员的接口 281
17.8 多个接口的引用 282
17.9 派生成员作为实现 284
17.10 显式接口成员实现 284
17.11 接口可以继承接口 287
第18章 转换 290
18.1 什么是转换 290
18.2 隐式转换 291
18.3 显式转换和强制转换 292
18.4 转换的类型 293
18.5 数字的转换 294
18.5.1 隐式数字转换 294
18.5.2 溢出检测上下文 295
18.5.3 显式数字转换 296
18.6 引用转换 299
18.6.1 隐式引用转换 300
18.6.2 显式引用转换 301
18.6.3 有效显式引用转换 301
18.7 装箱转换 302
18.8 拆箱转换 304
18.9 用户自定义转换 305
18.9.1 用户自定义转换的约束 305
18.9.2 用户自定义转换的示例 306
18.9.3 计算用户自定义转换 307
18.9.4 多步用户自定义转换的示例 308
18.10 is运算符 309
18.11 as运算符 310
第19章 泛型 311
19.1 什么是泛型 311
19.2 C#中的泛型 313
19.3 泛型类 314
19.4 声明泛型类 314
19.5 创建构造类型 315
19.6 创建变量和实例 316
19.6.1 使用泛型的栈的示例 317
19.6.2 比较泛型和非泛型栈 318
19.7 类型参数的约束 319
19.7.1 Where子句 320
19.7.2 约束类型和次序 320
19.8 泛型结构 321
19.9 泛型接口 322
19.9.1 使用泛型接口的示例 323
19.9.2 泛型接口的实现必须唯一 323
19.10 泛型委托 324
19.11 泛型方法 326
19.11.1 声明泛型方法 326
19.11.2 调用泛型方法 327
19.11.3 泛型方法的示例 328
19.12 扩展方法和泛型类 329
第20章 枚举数和迭代器 331
20.1 枚举数和可枚举类型 331
20.1.1 使用foreach语句 331
20.1.2 枚举数类型 332
20.2 使用IEnumerator接口 333
20.3 IEnumerable接口 336
20.4 不实现接口的枚举数 338
20.5 泛型枚举接口 339
20.6 IEnumerator< T >接口 339
20.7 IEnumerable< T >接口 341
20.8 迭代器 342
20.8.1 迭代器块 343
20.8.2 使用迭代器来创建枚举数 344
20.8.3 使用迭代器来创建可枚举类型 345
20.9 常见迭代器模式 346
20.10 产生可枚举类型和枚举数 347
20.11 产生多个可枚举类型 348
20.12 产生多个枚举数 349
20.13 迭代器实质 350
第21章 介绍LINQ 352
21.1 什么是LINQ 352
21.2 LINQ提供程序 353
21.3 查询语法和方法语法 355
21.4 查询变量 356
21.5 查询表达式的结构 357
21.5.1 from子句 358
21.5.2 join子句 359
21.5.3 什么是联结 360
21.5.4 查询主体中的from…let…where片段 362
21.5.5 orderby子句 365
21.5.6 select…group子句 366
21.5.7 查询中的匿名类型 367
21.5.8 group子句 368
21.5.9 查询延续 369
21.6 标准查询运算符 370
21.6.1 查询表达式和标准查询运算符 371
21.6.2 标准查询运算符的签名 372
21.6.3 委托作为参数 373
21.6.4 LINQ预定义的委托类型 374
21.6.5 使用委托参数的示例 375
21.6.6 使用Lambda表达式参数的示例 375
21.7 LINQ to XML 376
21.7.1 标记语言 377
21.7.2 XML基础 377
21.7.3 XML类 378
21.7.4 使用XML树的值 381
21.7.5 使用XML属性 384
21.7.6 节点的其他类型 387
21.7.7 使用LINQ to XML的LINQ查询 388
第22章 异步编程简介 391
22.1 进程、线程以及异步编程 391
22.1.1 多线程处理带来的问题 391
22.1.2 多线程处理的复杂度 392
22.2 异步编程模式 392
22.3 BeginInvoke和EndInvoke 393
22.3.1 等待—直到结束模式 395
22.3.2 AsyncResult类 396
22.3.3 轮询模式 396
22.3.4 回调模式 397
22.4 计时器 400
第23章 预处理指令 403
23.1 什么是预处理指令 403
23.2 基本规则 403
23.3 #define和#undef指令 404
23.4 条件编译 405
23.5 条件编译结构 406
23.6 诊断指令 408
23.7 行号指令 408
23.8 区域指令 409
23.9 #pragma warning指令 410
第24章 反射和特性 411
24.1 元数据和反射 411
24.2 Type类 411
24.3 获取Type对象 413
24.4 什么是特性 415
24.5 应用特性 415
24.6 预定义的保留的特性 416
24.6.1 Obsolete特性 416
24.6.2 Conditional特性 417
24.6.3 预定义的特性 418
24.7 有关应用特性的更多内容 419
24.7.1 多个特性 419
24.7.2 其他类型的目标 419
24.7.3 全局特性 420
24.8 自定义特性 420
24.8.1 声明自定义特性 421
24.8.2 使用特性构造函数 421
24.8.3 指定构造函数 421
24.8.4 使用构造函数 422
24.8.5 构造函数中的位置参数和命名参数 422
24.8.6 限制特性的使用 423
24.8.7 自定义特性的最佳实践 424
24.9 访问特性 425
24.9.1 使用IsDefined方法 425
24.9.2 使用GetCustomAttribute方法 426
第25章 其他主题 428
25.1 概述 428
25.2 字符串 428
25.2.1 使用StringBuilder类 429
25.2.2 格式化数字字符串 430
25.3 把字符串解析为数据值 433
25.4 可空类型 434
25.4.1 创建可空类型 434
25.4.2 为可空类型赋值 436
25.4.3 使用可空用户自定义类型 437
25.5 Main方法 438
25.6 文档注释 440
25.6.1 插入文档注释 440
25.6.2 使用其他XML标签 441
25.7 嵌套类型 441
25.7.1 嵌套类的示例 442
25.7.2 可见性和嵌套类型 443
  • 从昨天中午到今天上午,我读完了《C#图解教程》,觉得非常不错,因此推荐给大家。卓越网销售链接 本书原名为《Illustrated C# 2008》。
    这本书的书名看起来好像一本泛泛而谈的傻瓜书,其实并非如此!
    1:这本书最大好处,就是它是一本真正讲道理的书。这一点很难得,因为大多数类似的书都是“how-to”书,告诉你怎么操作,而对“为什么要这么做”很少涉及。甚至很多书连“怎么操作”都讲不清楚。
    2:其次,这本书的结构非常合理,把C#这样一个概念相对庞杂的讲解对象,很好的解构为若干个方面,加以介绍,而且在各个部分中,又能够很好地相互印证。
    3: 再次,对于这种书而言,所举的例子是否精当,就是一本书的生命。我们自己也写过书,因此对此深有体会。一本书最终的效果好坏,很大程度上取决于所举例子是否恰当,这是一个作者能力的关键因素。这本书的例子就很好,每一个例子都简单明了,而又非常充分恰当地说明了他所要需要演示的概念。
    4: 本书把C# 3.0中的新特性也很好地融入内容,非常好,比如lamda表达式和Linq,对于ASP.net开发支持非常有力,但是基本上ASP.net的相关资料中,都不会详细介绍它们的原理,使你感觉很难理解,而这本书则从最基础的底层概念,把它们介绍的非常清楚。这样你再去看那些代码带有lamda表达式的 ASP.net案例代码,就变得非常轻松了。
    武卫东  发表于 2009-02-28 06:58:54
    推荐
    • blacklog  发表于 2017-07-27 14:32:25