注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计.NETVisual C# 2005 技术内幕

Visual C# 2005 技术内幕

Visual C# 2005 技术内幕

定 价:¥59.00

作 者: (美)马歇尔
出版社: 清华大学
丛编项: 微软技术丛书
标 签: 算法语言

ISBN: 9787302144175 出版时间: 2007-01-01 包装: 平装
开本: 16开 页数: 521 字数:  

内容简介

  本书著述清楚,由浅入深地介绍了C#编程要素,对C#增强特性进行了重点描述。全书分5部分。第Ⅰ部分“核心语言”着重介绍C#语言的基本概念。第Ⅱ部分“核心技能”覆盖创建C#应用所需要的核心技能。第Ⅲ部分“C#语言详述”重点描述额外的语言特性,比如托管函数指针和结构化异常处理。第Ⅳ部分“调试”全面描述如何调试托管代码。第Ⅴ部分“高级概念”透彻介绍托管内存和垃圾加收,同时还讨论了不安全代码。本书内容丰富,详略得当,在讲述基本概念的同时,给出了大量范例代码和提示,适合所有专业开发人员和编程爱好者阅读。

作者简介

  许华杰,华中科技大学计算机科学与技术学院计算机软件理论与应用专业的在读博士。主要研究领域为数据库技术、移动计算和传感器网络。曾参与多个项目的设计和开发工作,具有上万行的C++和C#代码编写经验。

图书目录

第Ⅰ部分 核 心 语 言  
第1章 Visual C#编程介绍 3  
1.1 语言的起源 4  
1.2 C#核心语言特征 6  
1.2.1 符号与标记 7  
1.2.2 关键字 20  
1.2.3 基元 23  
1.3 C#示例程序 23  
1.4 命名空间 25  
1.5 Main入口点 27  
1.6 局部变量 28  
1.7 可空类型 29  
1.8 表达式 29  
1.9 选择语句 30  
1.10 迭代语句 32  
1.11 类 34  
第2章 类型 35  
2.1 类 36  
2.1.1 类成员 37  
2.1.2 成员函数 42  
2.2 结构 59  
2.3 枚举 60  
2.4 恒等与等价 62  
2.5 类的细化 63  
第3章 继承 64  
3.1 继承示例 68  
跨语言继承 68  
3.2 System.Object 70  
3.2.1 Object.Equals方法 71  
3.2.2 Object.GetHashCode方法 72  
3.2.3 Object.GetType方法 72  
3.2.4 Object.ToString方法 73  
3.2.5 Object.MemberwiseClone方法 73  
3.2.6 Object.Referen eEquals方法 74  
3.3 Employee类 75  
3.4 实现继承 76  
3.5 重写 77  
3.5.1 virtual和override关键字 77  
3.5.2 重载与重写 78  
3.5.3 重写事件 79  
3.6 new修饰符 79  
3.7 抽象类 83  
3.8 密封类 84  
3.9 构造函数和析构函数 85  
3.10 接口 87  
3.10.1 实现接口 89  
3.10.2 接口成员的显式实现 90  
3.10.3 接口的再实现 93  
3.11 多态性 94  
3.11.1 接口多态性 97  
3.11.2 new修饰符和多态性 98  
3.12 强制转换 99  
3.13 属性继承 103  
3.14 Visual Studio .NET 2005 104  
第Ⅱ部分 核 心 功 能  
第4章 Visual Studio 2005介绍 107  
4.1 集成开发环境 107  
4.1.1 起始页 108  
4.1.2 社区集成 108  
4.1.3 创建项目 109  
4.1.4 解决方案资源管理器 109  
4.1.5 添加引用 112  
4.1.6 数据菜单 113  
4.1.7 Visual Studio中的管理窗口 113  
4.1.8 自动恢复 114  
4.2 类层次结构 115  
4.2.1 类视图窗口 115  
4.2.2 对象浏览器 116  
4.2.3 类关系图 116  
4.2.4 继承 119  
4.2.5 关联 120  
4.2.6 类关系图演练 121  
4.2.7 “错误列表”窗口 124  
4.3 代码编辑器 125  
4.3.1 IntelliSense 125  
4.3.2 外侧代码 126  
4.3.3 字体和颜色格式 126  
4.3.4 源代码格式 127  
4.3.5 更改跟踪 127  
4.3.6 用户配置文件 128  
4.4 代码段 129  
4.4.1 复制和粘贴 129  
4.4.2 插入代码段 130  
4.4.3 默认代码段 131  
4.4.4 代码段管理器 132  
4.4.5 创建代码段 133  
4.5 重构 138  
4.6 生成和部署 142  
4.7 MSBuild 142  
4.7.1 项 142  
4.7.2 属性 143  
4.7.3 任务 143  
4.7.4 项目文件 144  
4.7.5 MSBuild演练 145  
4.8 ClickOnce部署 146  
4.9 数组和集合 151  
第5章 数组和集合 152  
5.1 数组 154  
5.1.1 数组元素 155  
5.1.2 多维数组 155  
5.1.3 交错数组 157  
5.1.4 System.Array 158  
5.1.5 System.Array属性 165  
5.1.6 params关键字 170  
5.1.7 数组转换 172  
5.2 集合 173  
5.2.1 数组列表集合 174  
5.2.2 位数组集合 177  
5.2.3 哈希表集合 179  
5.2.4 队列集合 183  
5.2.5 堆栈集合 187  
5.2.6 特殊集合 188  
5.3 泛型 188  
第6章 泛型 189  
6.1 泛型类型 192  
6.1.1 类型参数 192  
6.1.2 构造类型 195  
6.2 泛型方法 196  
6.2.1 重载方法 196  
6.2.2 泛型类型的this引用 198  
6.3 约束 198  
6.3.1 派生约束 199  
6.3.2 接口约束 203  
6.3.3 值类型约束 204  
6.3.4 引用类型约束 205  
6.3.5 默认构造函数约束 205  
6.4 强制类型转换 206  
6.5 继承 207  
6.5.1 重写方法 208  
6.5.2 嵌套类型 209  
6.6 静态成员 210  
6.6.1 运算符函数 211  
6.6.2 序列化 212  
6.6.3 泛型内部机理 214  
6.6.4 泛型集合 215  
6.7 枚举器 215  
第7章 迭代器 216  
7.1 枚举对象 217  
7.1.1 枚举器 217  
7.1.2 枚举器例子 219  
7.1.3 枚举器例子(静态集合) 220  
7.1.4 枚举器举例(版本集合) 221  
7.1.5 IEnumerator问题 223  
7.2 泛型枚举器 223  
7.2.1 IEnumerable接口 223  
7.2.2 IEnumerator 接口 224  
7.2.3 泛型枚举器举例(版本集合) 225  
7.3 迭代器 227  
7.3.1 yield语句 227  
7.3.2 迭代器块 228  
7.3.3 迭代器内部机理 229  
7.3.4 迭代器举例 230  
7.4 委托和事件 233  
第Ⅲ部分 C#语言详述  
第8章 委托和事件 237  
8.1 委托 238  
8.1.1 定义一个委托 239  
8.1.2 创建一个委托 239  
8.1.3 调用一个委托 241  
8.1.4 委托数组 241  
8.1.5 异步调用 247  
8.1.6 异步委托关系图 250  
8.1.7 异常 251  
8.2 匿名方法 252  
8.2.1 外部变量 254  
8.2.2 泛型匿名方法 256  
8.2.3 匿名方法的限制 256  
8.3 事件 256  
8.3.1 发布一个事件 257  
8.3.2 订阅 258  
8.3.3 引发一个事件 258  
8.4 异常处理 260  
第9章 异常处理 261  
9.1 异常举例 262  
9.2 公共异常模型 262  
9.3 结构化的异常处理 263  
9.3.1 try语句 263  
9.3.2 catch 语句 264  
9.3.3 finally语句 266  
9.3.4 异常信息表 267  
9.3.5 嵌套try块 267  
9.4 System.Exception 269  
9.4.1 System.Exception函数 269  
9.4.2 System.Exception属性 270  
9.4.3 应用程序异常 271  
9.4.4 异常转化 273  
9.4.5 COM互操作性异常 273  
9.5 远程异常 277  
9.6 未处理异常 278  
9.6.1 Application.ThreadException 279  
9.6.2 AppDomain.Unhandled-  
Exception 280  
9.7 在Visual Studio中管理异常 281  
9.7.1 异常助手 281  
9.7.2 异常对话框 282  
9.8 元数据和反射 282  
第Ⅳ部分 调  试  
第10章 元数据和反射 285  
10.1 元数据 285  
10.1.1 标记 287  
10.1.2 元数据堆 287  
10.1.3 流 288  
10.1.4 元数据验证 288  
10.1.5 ILDASM工具 289  
10.2 反射 293  
10.2.1 获得一个Type对象 293  
10.2.2 加载程序集 295  
10.2.3 浏览Type信息 297  
10.2.4 动态调用 300  
10.2.5 类型的创建 304  
10.2.6 晚期绑定 306  
10.2.7 函数调用性能 308  
10.3 反射和泛型 308  
10.3.1 IsGeneri 和IsGeneri TypeDefinition 308  
10.3.2 typeof 309  
10.3.3 GetType 309  
10.3.4 GetGeneri TypeDefinition 310  
10.3.5 GetGeneri Arguments 311  
10.3.6 创建泛型类型 312  
10.3.7 反射的安全性 313  
10.3.8 属性 313  
10.3.9 创建一个自定义属性 316  
10.3.10 属性和反射 319  
10.4 MSIL 321  
第11章 MSIL编程 322  
11.1 “Hello World”应用程序 324  
11.2 计算堆栈 325  
11.3 MSIL深度探索 326  
11.3.1 指令 326  
11.3.2 程序集指令 326  
11.3.3 类指令 328  
11.3.4 方法指令 331  
11.3.5 MSIL指令 333  
11.4 复杂任务 335  
11.5 分支 340  
11.6 数组 343  
11.7 算术指令 345  
11.7.1 转换操作 345  
11.7.2 异常处理 346  
11.7.3 其他操作 347  
11.8 进程执行 348  
11.9 用Visual Studio 2005进行调试 351  
第12章 用Visual Studio 2005进行调试 352  
12.1 调试Windows窗体的项目 353  
12.1.1 附加到一个运行进程 353  
12.1.2 调试控制台应用程序项目 355  
12.1.3 调试类库项目 355  
12.2 调试设置 355  
12.2.1 调试和发布配置 355  
12.2.2 配置管理器 356  
12.3 调试设置 357  
12.3.1 Visual Studio环境调试设置 357  
12.3.2 解决方案的调试设置 361  
12.3.3 一个项目的调试设置 361  
12.4 Visual Studio调试用户界面 363  
12.4.1 数据提示 363  
12.4.2 可视化工具 363  
12.5 断点 365  
12.5.1 函数断点 365  
12.5.2 “断点”窗口 367  
12.5.3 跟踪点 370  
12.5.4 断点符号 372  
12.6 代码分步 372  
12.6.1 分布命令 372  
12.6.2 设定下一条语句演练 373  
12.7 “调试”工具栏 374  
12.8 调试窗口 374  
12.8.1 “断点”窗口 374  
12.8.2 “输出”窗口 374  
12.8.3 “脚本资源管理器” 375  
12.8.4 “监视”窗口 375  
12.8.5 “自动”窗口 378  
12.8.6 “局部变量”窗口 378  
12.8.7 “即时”窗口 378  
12.8.8 “调用堆栈”窗口 380  
12.8.9 “线程”窗口 381  
12.8.10 “模块”窗口 381  
12.8.11 “进程”窗口 382  
12.8.12 “内存”窗口 382  
12.8.13 “反汇编”窗口 383  
12.8.14 “寄存器”窗口 383  
12.9 跟踪 384  
12.9.1 跟踪示例 391  
12.9.2 配置文件 393  
12.9.3 有配置文件的跟踪示例 394  
12.10 DebuggerDisplayAttribute 396  
12.10.1 DebuggerBrowsable-Attribute 398  
12.10.2 DebuggerTypeProxy-Attribute 399  
12.11 转储文件 400  
12.12 高级调试 401  
第13章 高级调试 402  
13.1 DebuggableAttribute属性 404  
13.2 调试器 405  
13.3 实时调试 406  
13.4 托管调试器 408  
13.4.1 MDbg演练 408  
13.4.2 MDbg命令 411  
13.5 WinDbg 413  
13.6 Son of Strike (SOS) 419  
13.6.1 SOS演练部分I 419  
13.6.2 SOS演练部分II 422  
13.7 转储 423  
13.7.1 ADPlus 424  
13.7.2 Dr. Watson 425  
13.8 内存管理 428  
13.8.1 引用树 429  
13.8.2 代 431  
13.8.3 终结 434  
13.8.4 性能监试器 434  
13.9 线程 435  
13.10 异常 441  
13.11 符号 442  
13.11.1 Symsrv Symbol Server 443  
13.11.2 应用程序符号 443  
13.12 内存管理 444  
第Ⅴ部分 高 级 概 念  
第14章 内存管理 447  
14.1 非托管资源 448  
14.1.1 垃圾回收概述 449  
14.1.2 GC风格 452  
14.2 终结器 454  
14.2.1 终结器线程 458  
14.2.2 终结器注意事项 458  
14.3 IDisposable.Dispose 465  
14.3.1 可处置模式 469  
14.3.2 可处置模式的注意事项 470  
14.3.3 处置内部对象 473  
14.4 弱引用 475  
14.4.1 弱引用内部机理 477  
14.4.2 弱引用类 477  
14.4.3 关键终结对象 477  
14.4.4 约束执行区域 478  
14.4.5 管理非托管资源 480  
14.5 GC类 482  
14.6 不安全代码 483  
第15章 不安全代码 484  
15.1 unsafe关键字 486  
15.1.1 指针 487  
15.1.2 指针参数和返回 490  
15.1.3 平台调用 493  
15.2 结语 504  
附录A 运算符重载 505  

本目录推荐