《C#程序设计教程》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:刘甲耀,严桂兰编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2007
  • ISBN:712103753X
  • 页数:502 页
图书介绍:C#是汇集了C、C++、VB、Delphi以及Java的优点,加上自身的许多特色而构成的新一代面向组件、面向对象的程序设计语言。本书阐述C#程序设计的方法与技巧,取材广泛,概念清晰,由浅入深。内容包括:简单的C#程序设计;类型系统;控制台输入/输出;表达式与运算符;程序流控制;类;方法;属性、数组与索引器;结构、枚举与属性信息;接口;异常处理;代表与事件处理;运算符重载与用户定义的转换;多线程程序设计;元数据查询与文件操作。书中示例均在Microsoft.NET平台上通过,实用性强,覆盖面广,许多例子采用多种解决方案,充分体现了C#的灵活性与多样性。每章均有小结与习题,并在书末提供了习题参考答案。书中示例、习题与运行结果可通过华信教育资源网(http://www.hxedu.com.cn)免费下载使用。

第1章 简单的C#程序设计 1

1.1 面向对象编程的基本概念 1

1.1.1 任何事物都是一个对象 1

1.1.2 面向对象程序设计语言的三大原则 2

1.2 C#运行环境Microsoft.NET简介 3

1.2.1 Microsoft.NET平台 3

1.2.2 .NET框架 4

1.3 简单C#程序的编写与运行 5

1.3.1 使用.NET编辑器构建与运行C#程序 6

1.3.2 使用“控制台应用程序”的框架构建与运行C#程序 7

1.3.3 使用Windows应用程序框架构建与运行C#程序 10

1.4 遍历简单的C#程序代码 15

1.4.1 C#与C++程序设计的区别 15

1.4.5 命名空间与using指令 16

1.4.4 System.Console.WriteLine与Console.WriteLine方法 16

1.4.2 类与成员 16

1.4.3 Main方法 16

1.4.6 程序框架 17

1.5 C#程序设计准则 18

1.5.1 何时定义用户自己的命名空间 18

1.5.2 命名准则 18

小结 19

习题1 20

2.1 任何事物都是一个对象 21

第2章 类型系统 21

2.2 值类型与引用类型 22

2.2.1 值类型 22

2.2.2 引用类型 25

2.2.3 值类型与引用类型的根本区别 26

2.3 装箱与拆箱 27

2.3.1 装箱操作 27

2.3.2 拆箱操作 28

2.4.1 System.Object类型的公有方法 29

2.4 所有类型的根Sysrtem.Object 29

2.4.2 System.Object类型的保护方法 30

2.5 类型与别名 30

2.6 类型间的强制转换 31

2.6.1 向上隐式转型 31

2.6.2 向下显式转型 31

2.6.3 使用as实现转型 32

2.7 命名空间与using关键字 33

2.7.1 命名空间 33

2.7.2 using关键字 33

小结 35

习题2 35

第3章 控制台输入/输出 37

3.1 控制台I/O类 37

3.2 控制台输出 37

3.2.1 基本方法 37

3.2.2 字符串输出 38

3.2.3 基本的数据输出 40

3.2.4 一般的格式化输出 41

3.2.5 特殊的格式化输出 43

3.2.6 日期与时间的格式化输出 44

3.3 控制台输入 46

3.3.1 基本方法 46

3.3.2 Spliit()方法的使用 47

习题3 52

小结 52

第4章 表达式与运算符 53

4.1 定义的运算符 53

4.1.1 基本运算符 53

4.1.2 基本运算符的使用 53

4.2 运算符的优先级 55

4.2.1 C#运算符优先级的确定 55

4.2.2 左结合性与右结合性 56

4.3 C#运算符 57

4.3.1 基本的表达式运算符 57

4.2.3 实际的使用 57

4.3.2 数学运算符 60

4.3.3 关系运算符 68

4.3.4 逻辑运算符 69

4.3.5 按位运算符 71

4.3.6 简单的赋值运算符 73

小结 75

习题4 75

第5章 程序流控制 78

5.1 块语句 78

5.2 选择型语句(选择型结构) 79

5.2.1 if语句(单、双分支选择型结构) 79

5.2.2 switch语句(多分支选择型结构) 83

5.3 循环型语句(循环型结构) 87

5.3.1 while语句(前判断循环型结构) 87

5.3.2 do/while语句(后判断循环型结构) 94

5.3.3 for语句(面向问题循环型结构) 99

5.3.4 foreach语句 115

5.4 转移语句 116

5.4.1 break语句 116

5.4.2 continue语句 118

5.4.3 goto语句 121

5.4.4 return语句 122

小结 122

习题5 123

第6章 类 129

6.1 类的定义 129

6.2 类成员 130

6.3 访问修饰符 130

6.4 Main方法 131

6.4.1 命令行参数 132

6.4.2 返回值 133

6.4.3 多重Main方法 133

6.5.1 构造方法的定义与使用 134

6.5 构造方法 134

6.5.2 静态成员与实例成员 140

6.5.3 构造方法初始化 141

6.6 常量与只读域 145

6.6.1 常量 145

6.6.2 只读域 148

6.7 继承 150

6.7.1 继承的使用 150

6.7.2 多重接口 155

6.7.3 sealed类 159

小结 160

习题6 160

第7章 方法 161

7.1 方法的定义与调用 161

7.1.1 方法的定义 161

7.1.2 方法的调用 162

7.2 值方法的参数 162

7.3.1 ref方法参数 167

7.3 ref和out方法参数 167

7.3.2 out方法参数 173

7.4 方法重载 178

7.4.1 重载传递不同参数的同名方法 178

7.4.2 重载构造方法 180

7.5 可变的方法参数 183

7.6 虚拟方法 188

7.6.1 抑制方法(重构方法) 188

7.6.2 多态性 189

7.7 静态方法 191

7.7.1 静态方法的定义与调用 191

7.7.2 访问类成员 198

小结 199

习题7 199

第8章 属性、数组与索引器 202

8.1 属性 202

8.1.1 属性的定义与使用 203

8.1.2 只读属性 206

8.1.3 继承属性 211

8.1.4 属性的高级使用 214

8.2 数组 215

8.2.1 一维数组 215

8.2.2 多维数组 233

8.2.3 秩的查询 249

8.2.4 可变数组 250

8.3 索引器 256

8.3.1 索引器的定义 256

8.3.2 索引器的使用 258

小结 269

习题8 269

第9章 结构、枚举与属性信息 271

9.1 结构 271

9.1.1 结构类型的声明 271

9.1.2 结构的使用 271

9.2.1 枚举类型的声明 275

9.2 枚举 275

9.2.2 枚举的使用 276

9.3 属性信息的引入 283

9.4 属性信息的定义 284

9.5 有关属性信息的查询 285

9.5.1 类属性信息 285

9.5.2 方法属性信息 287

9.5.3 域属性信息 288

9.6.1 位置参数与命名参数 290

9.6 属性信息参数 290

9.6.2 具有命名参数的常见错误 291

9.6.3 合法的属性信息参数类型 292

9.7 AttributeUsage属性信息 292

9.7.1 属性信息目标的定义 292

9.7.2 属性信息的单一使用与多重使用 294

9.7.3 继承属性信息的规则 295

9.8 属性信息标识符 295

习题9 296

小结 296

第10章 接口 297

10.1 接口与类的区别 297

10.2 接口的声明 297

10.3 接口的实现 298

10.3.1 实现的方式 298

10.3.2 使用is运算符实现检测(查询) 316

10.3.3 使用as运算符实现检测(查询) 318

10.4.1 具有接口的名字隐藏 320

10.4 显式接口成员名的限定 320

10.4.2 避免名字二重性 322

10.5 接口与继承 325

10.6 接口的组合 328

小结 331

习题10 331

第11章 异常处理 334

11.1 异常处理概念 334

11.2.2 捕捉异常 335

11.2 基本的异常处理语法 335

11.2.1 抛出异常 335

11.2.3 重新抛出异常 338

11.2.4 用finally清理 340

11.3 System.Exception类的使用 343

11.3.1 System命名空间中常用的异常类及其使用 343

11.3.2 Exception对象的构建 345

11.3.3 StackTrace属性的使用 347

11.3.4 多重异常类型的捕捉 348

11.3.5 派生用户自己的异常类 350

11.4 具有异常处理代码的设计 351

11.4.1 具有try块的设计 351

11.4.2 具有catch块的设计 353

小结 354

习题11 354

12.1.2 代表的使用 356

12.1.1 代表的定义 356

第12章 代表与事件处理 356

12.1 代表的定义与使用的一般形式 356

12.2 使用代表作为callback方法 357

12.3 定义代表作为静态成员 359

12.4 创建代表的时机 366

12.5 代表的构成 368

12.6 用代表定义事件 373

小结 378

习题12 378

第13章 运算符重载与用户定义的转换 379

13.1 运算符重载 379

13.1.1 运算符重载的语法 379

13.1.2 可重载的运算符 382

13.2 用户定义的转换 388

13.2.1 引例 388

13.2.2 转换的语法 388

13.1.4 设计准则 388

13.1.3 运算符重载的限制 388

小结 393

习题13 393

第14章 多线程程序设计 394

14.1 多线程基础 394

14.1.1 多线程与多任务 394

14.1.2 前后关系变换 394

14.2 C#的多线程应用程序 395

14.3 用多线程工作 396

14.3.1 AppDomain 396

14.3.2 Thread类 396

14.3.3 多线程的调度 399

14.4 线程安全与同步 402

14.4.1 通过使用Monitor类的代码保护 402

14.4.2 使用具有C#lock语句的监控锁定 405

14.4.3 通过使用Mutex类的代码同步 407

14.5.1 何时使用多线程 409

14.5 线程策略 409

14.4.4 线程安全与.NET类 409

14.5.2 何时不使用多线程 410

小结 410

习题14 411

第15章 元数据查询与文件操作 412

15.1 元数据与映射 412

15.2 映射API层次结构 412

15.3 Type类 413

15.4 文件与流类 417

15.5 读文本文件 418

15.6 写文本文件 421

15.7 读二进制文件 423

15.8 写二进制文件 424

小结 425

习题15 425

习题1 426

习题参考答案 426

习题2 427

习题3 430

习题4 433

习题5 435

习题6 440

习题7 447

习题8 466

习题9 477

习题10 481

习题11 488

习题12 490

习题13 493

习题14 496

习题15 498

附录A 本书使用的符号说明 501

参考文献 502