书籍简介:
《果壳中的c#——c#5.0权威指南》是一本c#5.0的权威技术指南,也是第一本中文版c#5.0的学习资料。本书通过26章的内容,系统、全面、细致地讲解了c#5.0从基础知识到各种高级特性的命令、语法和用法。本书的讲解深入浅出,同时为每一个知识点都专门设计了贴切、简单、易懂的学习案例,从而可以帮助读者准确地理解知识点的含义并快速地学以致用。本书与之前的c#4.0版本相比,还新增了丰富的并发、异步、动态编程、代码精练、安全、com交互等高级特性相关的内容。
《果壳中的c#——c#5.0权威指南》还融汇了作者多年在软件开发及c#方面的研究及其实践经验,非常适合作为c#技术的一本通自学教程,亦是一本中高级c#技术人员不可多得的必备工具书。
作者简介:
阿坝哈瑞 (Joseph Albahari) / 阿坝哈瑞 (Ben Albahari)
译者: 陈昇 / 管学理 / 曾少宁 / 杨庆川
出版日期:
2013-8-1
章节目录:
前言
目标读者1
本书的结构1
使用本书所需的其他材料 2
本书中使用的约定2
使用示例代码 3
联系我们3
safari. books online 4
致谢 4
第1章 c#和.net framework简介1
1.1 面向对象 1
1.2 类型安全性1
1.3 内存管理 2
1.4 平台支持 2
1.5 c#与clr的关系2
1.6 clr和.net framework3
1.7 c#与windows runtime4
1.8 c# 5.0新特性5
1.9 c# 4.0新特性5
1.10 c# 3.0新特性 5
第2章 c#语言基础7
2.1 第一个c#程序 7
2.2 语法9
2.3 类型基础11
2.4 数值类型19
2.5 布尔类型和运算符 25
2.6 字符串和字符27
2.7 数组29
2.8 变量和参数 32
2.9 表达式和运算符40
2.10 语句43
2.11 命名空间51
第3章 在c#中创建类 57
3.1 类57
3.2 继承69
3.3 object类型76
3.4 结构体80
3.5 访问权限修饰符81
3.6 接口83
3.7 枚举类型87
3.8 嵌套类型91
3.9 泛化92
第4章 c#高级特性103
4.1 委托103
4.2 事件111
4.3 lambda表达式 117
4.4 匿名方法120
4.5 try语句和异常 121
4.6 枚举类型和迭代 128
4.7 可空类型132
4.8 运算符重载137
4.9 扩展方法140
4.10 匿名类型 143
4.11 动态绑定 144
4.12 属性151
4.13 调用者信息属性(c# 5) 152
4.14 不安全代码和指针154
4.15 预处理指令157
4.16 xml文档159
第5章 框架概述163
5.1 clr和核心框架 165
5.2 应用技术168
第6章 框架基础174
6.1 字符串与文本处理 174
6.2 日期和时间185
6.3 日期与时区191
6.4 标准格式字符串与解析标记202
6.5 其他转换机制208
6.6 全球化 211
6.7 操作数字212
6.8 枚举类型216
6.9 元组219
6.10 guid结构体220
6.11 等值比较 220
6.12 顺序比较229
6.13 实用类232
第7章 集合235
7.1 枚举235
7.2 icollection和ilist接口242
7.3 array类245
7.4 复制251
7.5 list、queue、stack和set252
7.6 字典259
7.7 可定制的集合和委托264
7.8 等值和顺序插入 270
第8章 linq查询 277
8.1 入门277
8.2 运算符流语法279
8.3 查询表达式285
8.4 延迟执行289
8.5 子查询295
8.6 linq构造方式298
8.7 映射策略301
8.8 解释型的查询303
8.9 linq to sql 和 entity framework309
8.10 查询表达式的创建323
第9章 linq运算符328
9.1 概述329
9.2 筛选332
9.3 映射336
9.4 连接347
9.5 zip 运算符355
9.6 排序355
9.7 grouping358
9.8 集合运算符361
9.9 转换方法363
9.10 元素运算符365
9.11 聚合方法 367
9.12 数量词372
9.13 生成集合的方法373
第10章 linq to xml 375
10.1 架构概述 375
10.2 x-dom概述376
10.3 实例化x-dom 379
10.4 指定内容 380
10.5 导航和查询381
10.6 更新x-dom 386
10.7 使用value389
10.8 文档和声明391
10.9 名称和命名空间394
10.10 注解 400
10.11 将数据映射到x-dom 400
第11章 其他xml技术407
11.1 xmlreader 407
11.2 xmlwriter415
11.3 使用xmlreader/xmlwriter的模式 417
11.4 xmldocument421
11.5 xpath 424
11.6 xsd和模式验证428
11.7 xslt 431
第12章 销毁和垃圾回收432
12.1 idisposable接口、dispose方法和close方法432
12.2 自动垃圾回收436
12.3 终止器438
12.4 垃圾回收器如何工作442
12.5 托管内存泄露445
12.6 弱引用448
第13章 诊断和代码契约452
13.1 条件编译 452
13.2 debug和trace类455
13.3 代码契约概述458
13.4 先决条件 461
13.5 后置条件 465
13.6 断言和对象不变式467
13.7 接口和抽象方法中的契约468
13.8 处理契约错误469
13.9 选择性执行契约471
13.10 静态契约检查 472
13.11 调整器集成473
13.12 进程和处理线程474
13.13 stacktrace和stackframe类 475
13.14 windows事件日志476
13.15 性能计数器478
13.16 stopwatch类 483
第14章 并发与异步 484
14.1 简介484
14.2 线程处理 485
14.3 任务498
14.4 异步原则 506
14.5 c# 5.0的异步函数510
14.6 异步模式 523
14.7 旧模式530
第15章 流与i/o533
15.1 流体系结构533
15.2 使用流534
15.3 流适配器 546
15.4 压缩流553
15.5 操作zip文件555
15.6 文件与目录操作555
15.7 windows runtime中的文件输入/输出 565
15.8 内存映射文件567
15.9 隔离存储区569
第16章 网络 575
16.1 网络体系结构575
16.2 地址与端口577
16.3 uri 578
16.4 客户端类 579
16.5 http访问591
16.6 编写http服务器596
16.7 使用ftp 599
16.8 使用dns600
16.9 通过smtpclient发送邮件601
16.10 使用tcp602
16.11 使用tcp接收pop3邮件 605
16.12 在windows runtime中建立tcp连接 606
第17章 序列化 608
17.1 序列化概念608
17.2 数据契约的序列化611
17.3 数据契约与集合620
17.4 扩展数据契约622
17.5 二进制序列化器 625
17.6 二进制序列化属性627
17.7 使用iserializable进行二进制序列化629
17.8 xml序列化632
第18章 程序集 641
18.1 程序集包含的内容641
18.2 强名称和程序集签名 645
18.3 程序集名称647
18.4 authenticode签名649
18.5 全局程序集高速缓存 652
18.6 资源和卫星程序集654
18.7 解析和加载程序集661
18.8 在基础文件夹外部署程序集 665
18.9 打包单个可执行文件 667
18.10 处理未引用的程序集668
第19章 反射和元数据 670
19.1 反射和激活类型 670
19.2 反射和调用成员 677
19.3 反射程序集688
19.4 使用属性689
19.5 动态生成代码694
19.6 发出程序集和类型700
19.7 发出类型成员703
19.8 发出泛型方法和类型 708
19.9 复杂的发出目标 710
19.10 解析il 713
19.11 编写反编译器713
第20章 动态编程 718
20.1 动态语言运行时 718
20.2 数字类型统一719
20.3 动态成员重载解决方案720
20.4 实现动态对象726
20.5 通过动态语言交互操作729
第21章 安全 731
21.1 权限731
21.2 代码访问安全(cas)734
21.3 允许部分可信的调用程序737
21.4 clr 4.0中的透明模型739
21.5 沙箱化程序集746
21.6 操作系统安全749
21.7 身份和角色安全 751
21.8 加密综述752
21.9 windows数据保护753
21.10 散列法 754
21.11 对称加密755
21.12 公共密钥加密和签名759
第22章 高级线程 763
22.1 同步概述763
22.2 排他锁764
22.3 锁与线程安全性 771
22.4 非排他锁775
22.5 使用事件等待处理器发送信号780
22.6 barrier类787
22.7 延后初始化788
22.8 线程本地存储790
22.9 interrupt和abort 792
22.10 suspend和resume 793
22.11 定时器 793
第23章 并行编程 797
23.1 pfx 797
23.2 plinq799
23.3 parallel类810
23.4 任务并行816
23.5 处理aggregateexception异常825
23.6 并发集合827
23.7 blockingcollection 829
第24章 应用域 833
24.1 应用域架构833
24.2 创建和销毁应用域833
24.3 多应用域的使用 836
24.4 docallback的应用 837
24.5 应用域的监视838
24.6 应用域和线程838
24.7 应用域间通信839
第25章 本地化和com组件交互844
25.1 调用本地库844
25.2 类型封送845
25.3 非托管代码的回调函数847
25.4 模拟c共用体848
25.5 内存共享849
25.6 映射结构体到非托管内存区 851
25.7 com交互854
25.8 在c#中调用com对象856
25.9 内嵌互操作类型 859
25.10 主互操作程序集859
25.11 com中调用c#对象 860
第26章 正则表达式 861
26.1 正则表达式基础 861
26.2 量词865
26.3 零宽度断言866
26.4 分组869
26.5 文本替换和拆分 870
26.6 正则表达式实例 871
26.7 正则表达式语言参考 874
封面图: