当前位置:首页 > 工业技术
C# 4.0权威指南
C# 4.0权威指南

C# 4.0权威指南PDF电子书下载

工业技术

  • 电子书积分:17 积分如何计算积分?
  • 作 者:姜晓东著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2011
  • ISBN:9787111321873
  • 页数:600 页
图书介绍:本书是一本不可多得的关于C# 4.0的教程和参考书。它在.NET 4.0和VS 2010的基础上,以图文并茂的形式,用朴实简洁的文字,并辅之以大量表格和代码示例,由浅入深、循序渐进地讲解了C#的方方面面,精炼而全面地阐述了C# 4.0的各种特性,使读者能够快速理解、学习和使用C#。
《C# 4.0权威指南》目录
标签:权威 指南

第一部分 .NET体系结构 2

第1章 .NET体系结构 2

1.1 .NET框架概述 3

1.2 .NET的平台无关性 4

1.3 公共语言运行时 5

1.4 通用类型系统 6

1.4.1 值类型和引用类型 7

1.4.2 装箱和拆箱 7

1.5 公共语言规范 9

1.6 语言的互操作性 9

1.7 即时编译 10

1.8 中间语言 10

1.9 基类库 11

第2章 从“Hello World!”开始 12

2.1 一个简单的C#程序 12

2.2 编译和运行程序 13

2.2.1 在Visual Studio 2010中编译和运行 13

2.2.2 通过命令行编译和运行 14

2.3 详细介绍 17

2.4 小结 19

第二部分 语法篇 22

第3章 标识符和关键字 22

3.1 标识符 22

3.2 关键字 23

3.3 标识符的命名约定 25

3.4 小结 25

第4章 变量、常量和类型 26

4.1 变量 26

4.1.1 给变量命名 26

4.1.2 声明变量 27

4.1.3 变量的初始化 27

4.1.4 类型推断 29

4.1.5 变量的作用域 30

4.2 常量 32

4.3 数据类型 33

4.3.1 内置的值类型 34

4.3.2 内置的引用类型 41

4.3.3 指针类型 46

4.3.4 Nullable类型 46

4.3.5 dynamic类型 47

4.4 进阶阅读:关于动态语言运行时 49

第5章 类型转换 51

5.1 隐式类型转换 51

5.1.1 数值类型 52

5.1.2 引用类型 53

5.1.3 装箱 54

5.2 显式类型转换 55

5.2.1 数值类型 56

5.2.2 溢出检查 57

5.2.3 引用类型 58

5.2.4 拆箱 58

5.3 as和is运算符 59

第6章 表达式和运算符 64

6.1 表达式 64

6.2 运算符的类型 65

6.3 运算符的优先级 65

6.4 算术运算符 66

6.5 求余运算符 67

6.6 递增运算符和递减运算符 68

6.7 关系和类型检测运算符 69

6.8 相等性判断运算符 70

6.9 条件运算符 72

6.10 逻辑运算符 73

6.11 位运算符 74

6.12 赋值运算符 75

6.13 typeof运算符 76

6.14 运算符重载 77

6.14.1 运算符的重载 77

6.14.2 可重载的运算符 78

第7章 语句 79

7.1 什么是语句 79

7.2 程序的三种结构 79

7.2.1 顺序结构 80

7.2.2 分支结构 80

7.2.3 循环结构 80

7.3 条件语句 81

7.3.1 if语句 81

7.3.2 switch语句 84

7.4 跳转语句 85

7.4.1 break语句 86

7.4.2 continue语句 87

7.4.3 return语句 87

7.4.4 throw语句 88

7.4.5 goto语句 89

7.4.6 default语句 89

7.5 标签语句 89

7.5.1 标签 90

7.5.2 标签语句的有效范围 90

7.6 循环语句 90

7.6.1 while循环 90

7.6.2 do…while循环 91

7.6.3 for循环 92

7.6.4 foreach…in循环 94

7.7 using语句 95

第8章 方法 97

8.1 方法的构成 97

8.2 局部变量和常量 98

8.3 方法的调用 99

8.4 返回值 101

8.5 参数 101

8.5.1 形参 102

8.5.2 实参 102

8.5.3 新特性:命名和可选参数 103

8.6 四种类型的参数 106

8.6.1 按值传递参数 106

8.6.2 按引用传递参数——关键字:ref 108

8.6.3 输出参数——关键字:out 111

8.6.4 参数数组——关键字:params 113

8.7 栈帧 114

8.8 递归 115

8.9 方法的重载 116

8.10 静态方法 117

第9章 类 119

9.1 类是什么 119

9.2 “Hello World!”程序回顾 120

9.3 类的声明 121

9.4 类的成员 121

9.4.1 字段 122

9.4.2 静态字段 123

9.4.3 方法 124

9.4.4 字段的初始化 124

9.4.5 属性 126

9.5 类的实例:对象 135

9.6 实例化中的内存分配 135

9.7 实例的成员 136

9.8 this关键字 136

9.9 访问修饰符 137

9.10 访问类的成员 138

9.10.1 从类内部访问成员 139

9.10.2 从类外部访问成员 139

9.10.3 从类外部访问静态成员 140

9.11 构造函数 140

9.12 对象初始化列表 146

9.13 析构函数 148

9.14 只读字段和常数 150

9.15 索引器 151

9.16 分部类型和分部方法——修饰符:partial 152

9.16.1 分部类 153

9.16.2 分部方法 155

9.17 注释 158

9.17.1 行注释 158

9.17.2 块注释 159

9.17.3 XML文档注释 160

第10章 继承 163

10.1 类的继承 163

10.2 访问继承的成员 165

10.3 使用new修饰符隐藏基类的成员 166

10.4 访问基类的成员 167

10.5 类的初始化顺序 168

10.6 在派生类中指定基类构造函数 170

10.7 类的访问修饰符 173

10.8 跨程序集的继承 173

10.9 密封类 175

10.10 静态类 176

10.11 扩展方法 177

10.12 派生类型的向上转型 178

第11章 多态 181

11.1 重载方法 182

11.2 虚方法 185

11.3 覆写方法 186

11.4 覆写标记为override的方法 188

11.5 抽象类及抽象方法 190

第12章 接口 192

12.1 定义接口 193

12.2 声明和实现接口 193

12.3 基类中的实现作为接口实现 197

12.4 实现多个接口 198

12.5 实现具有相同成员的接口 199

12.6 显式接口成员实现 200

12.7 调用显式接口成员实现 202

12.8 接口的派生 203

第13章 结构 205

13.1 什么是结构 205

13.2 结构是值类型 206

13.3 给结构赋值 208

13.4 构造函数 209

13.4.1 实例构造函数 209

13.4.2 静态构造函数 211

13.5 多态和可继承性 212

13.6 装箱和拆箱 213

13.7 结构和类的对比 214

13.7.1 字段初始化 215

13.7.2 性能 215

13.7.3 结构和类的适用场合分析 217

第14章 枚举 218

14.1 什么是枚举 218

14.2 设置枚举的底层数据类型 221

14.3 显式设置枚举的成员常量值 222

14.4 使用标志枚举 223

14.5 一些使用建议 225

第15章 委托 226

15.1 什么是委托 226

15.2 委托是引用类型 227

15.3 委托的声明和实例化 227

15.4 委托的组合 229

15.5 为委托添加一个方法 230

15.6 从委托中删除一个方法 231

15.7 委托在回调中的应用 232

15.8 委托中的协变和逆变 234

15.9 匿名方法 236

15.10 λ表达式 238

第16章 事件 240

16.1 什么是事件 240

16.2 事件和委托的关系 241

16.3 如何声明事件 241

16.4 订阅事件 242

16.5 触发事件 245

16.6 使用和扩展EventArgs类 246

16.7 使用自定义委托 247

16.8 事件访问器 249

第17章 泛型 251

17.1 什么是泛型 251

17.2 泛型类型 254

17.3 泛型类型的声明和实例化 255

17.4 类型参数 258

17.5 类型参数的约束 259

17.5.1 where子句 260

17.5.2 约束类型和顺序 261

17.6 泛型类 261

17.7 泛型结构 264

17.8 泛型接口 265

17.9 泛型委托 267

17.10 泛型方法 268

17.11 扩展方法和泛型类 270

17.12 协变和逆变 271

第18章 数组 273

18.1 数组的声明 273

18.2 数组的类型 274

18.3 数组派生自Array对象 275

18.4 实例化数组 276

18.5 初始化数组 277

18.5.1 显式初始化一维数组 278

18.5.2 显式初始化矩形数组及要点 279

18.5.3 隐式类型数组 281

18.6 访问数组元素 282

18.7 交错数组 282

18.7.1 交错数组的声明 283

18.7.2 交错数组的实例化 283

18.7.3 交错数组的初始化 284

18.8 矩形数组和交错数组的对比 285

18.9 使用foreach和for语句访问数组 287

18.9.1 foreach语句 287

18.9.2 for语句 288

18.9.3 迭代变量 289

18.10 数组协变 291

18.11 从Array对象继承的成员 292

18.12 数组的浅复制和深复制 294

第19章 集合 298

19.1 集合接口 298

19.2 常用的几种集合类型 300

19.2.1 ArrayList 301

19.2.2 Hashtable 304

19.2.3 Queue和Queue〈T〉 307

19.2.4 SortedList 309

19.2.5 Stack和Stack〈T〉 310

19.2.6 BitArray 313

19.2.7 List〈T〉 314

19.2.8 HashSet〈T〉 323

19.3 自定义集合 326

19.3.1 CollectionBase 327

19.3.2 ReadOnlyCollectionBase 331

19.4 迭代器 333

19.5 泛型集合接口支持协变和逆变 336

19.6 LINQ to Objects 339

19.6.1 LINQ简介 339

19.6.2 查询语法 340

19.6.3 方法语法 340

19.6.4 查询操作的组成 341

19.6.5 关于查询变量 342

19.6.6 查询语法和方法语法的统一 342

第20章 字符串与正则表达式 343

20.1 理解字符串 343

20.2 字符串的常用成员 345

20.3 字符串格式化 351

20.4 使用StringBuilder类 355

20.5 正则表达式 357

20.5.1 正则表达式基本语法 358

20.5.2 .NET对于正则表达式的支持 363

20.5.3 开始使用正则表达式 366

第21章 异常处理 368

21.1 异常类 368

21.2 抛出异常 369

21.3 捕获异常 370

21.4 自定义的异常类 373

21.5 异常处理的原则 374

第22章 命名空间和程序集 375

22.1 命名空间 375

22.1.1 使用命名空间 376

22.1.2 使用别名 378

22.2 程序集 378

22.2.1 程序集的结构 380

22.2.2 程序集清单 381

22.2.3 私有程序集和共享程序集 382

22.2.4 应用程序域 383

22.2.5 创建动态程序集并动态加载执行 384

22.2.6 全局程序集缓存 387

第23章 预处理指令 391

23.1 什么是预处理指令 391

23.2 观察一段示例 391

23.3 预处理指令集 393

23.4 #define和#undef指令 393

23.5 条件编译指令 394

23.6 #warning和#error指令 396

23.7 #line指令 396

23.8 #region和#endregion指令 399

23.9 #pragma warning指令 400

第24章 元数据和特性 401

24.1 元数据 401

24.1.1 从IntelliSense谈起 405

24.1.2 访问元数据 406

24.2 特性(Attribute) 412

24.2.1 什么是特性 414

24.2.2 创建自定义特性 418

24.2.3 访问特性 424

24.2.4 常用特性 425

24.2.5 特性应用完整示例 433

第25章 异步编程和多线程编程 437

25.1 进程和线程 437

25.2 BeginInvoke和EndInvoke 439

25.3 IAsyncResult接口和AsyncResult类 440

25.4 异步编程的4种方法 441

25.4.1 使用EndInvoke 441

25.4.2 使用WaitHandle 442

25.4.3 轮询 444

25.4.4 回调 445

25.5 多线程编程 446

25.5.1 Thread类 447

25.5.2 使用线程池 448

25.5.3 线程同步 450

25.5.4 死锁 453

第26章 I/O操作 457

26.1 文件和目录 457

26.1.1 File和Directory 457

26.1.2 FileInfo和DirectoryInfo 459

26.1.3 文件I/O的改进 462

26.2 流 467

26.3 异步操作 470

26.4 网络流的使用 472

26.5 序列化 476

26.5.1 BinaryFormatter 478

26.5.2 SoapFormatter 480

26.5.3 XML序列化 483

26.6 独立存储机制 485

第27章 XML处理 488

27.1 System.Xml命名空间 488

27.2 使用DOM 489

27.3 XPath和XSLT 493

27.4 LINQ to XML 498

27.4.1 LINQ to XML类库介绍 498

27.4.2 创建XML文档 498

27.4.3 使用LINQ进行遍历和查询 499

27.4.4 修改XML文档 500

第28章 增强的COM Interop 502

28.1 Dynamic lookup 502

28.1.1 dynamic关键字 503

28.1.2 访问Python代码 504

28.1.3 访问COM对象 506

28.2 改进的参数传递 508

28.3 完整示例 512

第29章 并行编程 515

29.1 任务并行库 516

29.1.1 并发和并行 517

29.1.2 并行编程架构 517

29.2 Parallel类 518

29.2.1 For方法重载一 520

29.2.2 For方法重载二 521

29.2.3 For方法重载三 525

29.3 Task类和Task〈TResult〉类 526

29.4 数据并行 528

29.5 任务并行 531

29.6 TaskFactory类和TaskFactory〈TResult〉类 533

29.6.1 任务创建选项 535

29.6.2 并发选项 548

29.6.3 后续任务选项 550

29.7 PLINQ 559

第三部分 附录 564

附录A Visual Studio 2010快速入门 564

附录B C#编码规范 597

返回顶部