《深入浅出C#编程》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:张玉平,李长林编著
  • 出 版 社:北京:中国科学技术出版社;北京希望电子出版社
  • 出版年份:2004
  • ISBN:7504637513
  • 页数:527 页
图书介绍:本书深入浅出地讲解了C#编程的方法和技巧。

第1章 .NET与C# 1

1.1 .NET简介 1

1.1.1 什么是.NET . 1

目录 1

1.1.2 为什么要提出.NET 2

1.1.3 .NET能带来什么 3

1.1.4 .NET的组成 4

1.2 .NET的技术核心 5

1.2.1 XML语言 5

1.2.2 Web服务 6

1.2.3 .NET框架 9

1.4 C#的主要特点 15

1.3 为什么需要C# 15

1.4.1 简单 16

1.4.2 面向对象 17

1.4.3 类型安全 18

1.4.4 版本控制 18

1.4.5 现代 18

1.4.6 灵活与兼容 18

1.5 C#程序的编译和执行 18

1.5.1 即时编译器JITer 21

1.5.2 及时编译执行的效率 21

开发环境的新内容 22

2.1.2 Visual Studio.NET集成 22

2.1.1 Visual Studio.NET开发环境 22

2.1 Visual Studio.NET集成开发环境介绍 22

第2章 C#开发环境 22

2.1.3 Visual Studio.NEr常用窗口对象简介 26

2.2 Visual Studio.NET菜单介绍 37

2.2.1 File菜单组 37

2.2.2 Edit菜单组 40

2.2.3 View菜单组 42

2.2.4 Proiect菜单组 45

2.2.5 Build菜单组 47

2.2.6 Debug菜单组 48

2.2.7 Tools菜单组 49

2.2.8 Window菜单组 52

2.2.9 .NET开发环境中的工具条 53

2.3 .NET下开发程序的一般步骤 54

第3章 C#语言基础 56

3.1 绪论 56

3.1.1 自动内存管理 56

3.1.2 类型 57

3.1.3 预定义类型 59

3.1.4 数组类型…………………………6l3.1.5 统一系统类型 62

3.1.6 语句 63

3.1.7 类 64

3.1.8 结构类型 65

3.1.12 命名空间 66

3.1.11 枚举 . 66

3.1.10 代理(delegates) 66

3.1.9 接口 66

3.1.13 属性 67

3.1.14 索引器 68

3.1.15 事件 69

3.1.16 Attribute 70

3.2 语法结构 71

3.2.1 预处理 71

3.2.2 标识符 75

3.2.3 关键字 75

3.2.4 数据类型 76

3.2.5 操作符和标点符号 79

3.3 基本概念 80

3.3.1 声明 80

3.3.2 成员 80

3.3.3 成员可见性(member-access) 81

3.3.4 存取控制 83

3.4 类型 83

3.4.1 值类型 84

3.4.2 默认值 84

3.4.3 简单类型 85

3.4.4 引用型 87

3.5 变量 88

3.5.1 变量的分类 89

3.5.3 变量明确赋值 90

3.5.2 变量默认值 90

3.5.4 变量引用(variable-reference) 92

3.6 类型转换 92

3.6.1 隐式转换 92

3.6.2 显式转换 94

3.7 表达式 95

3.7.1 表达式的分类 95

3.7.2 运算符 96

3.7.3 加括号的表达式 98

3.7.4 表达式调用 98

3.7.5 元素访问(element-access) 99

3.7.6 this访问 101

3.7.7 Base访问 103

3.7.8 递增和递减操作符 105

3.7.9 new操作符 106

3.7.10 typeof操作符 111

3.7.11 sizeof操作符 112

3.7.12 checked和unchecked操作符. 113

3.7.13 一元表达式 118

3.7.14 二元表达式 119

3.8 语句 123

3.8.1 终点和可达 123

3.8.2 分程序 124

3.8.3 空语句(empty-statement) 124

3.8.4 标号语句(labeled-statement). 124

3.8.5 声明语句 125

(declaration-statement) 125

(expression-statement) 126

3.8.6 表达式语句 126

3.8.7 条件语句 127

(selection-statement) 127

3.8.8 循环语句(iteration-statement) 131

3.8.9 转至语句(Jump) 133

3.8.10 checked和unchecked语句 136

3.8.11 Lock语句 137

3.9 命名空间 137

3.9.1 编译单元 137

3.9.2 命名空间声明 138

(namespace-declaration) 138

3.9.3 Using命令 139

3.9.4 命名空间的应用 140

3.10 类 144

3.10.1 类声明 145

3.10.2 类成员 147

3.10.3 常量(constant) 150

3.10.4 域 152

3.10.5 方法 157

3.10.6 构造函数 171

3.10.7 析构函数 176

3.10.8 静态构造函数 176

3.11 结构 179

3.11.1 结构声明 179

3.11.2 结构成员 179

3.11.3 结构例子 180

第4章 面向对象的程序设计 185

4.1 面向对象的基本概念 185

4.1.1 面向对象的技术的由来 185

4.1.2 基本概念 186

4.2 对象的模型技术 187

4.2.1 对象模型 187

4.2.2 动态模型 187

4.2.3 功能模型 188

4.3 面向对象的分析 188

4.3.1 论域分析和应用分析 189

4.3.2 Coad和Yourdon面向对象的分析过程 189

4.4.1 高层设计和底层设计 191

4.4 面向对象的设计 191

4.4.2 Coad和Yourdon面向对象的设计过程 192

4.5 类的基础知识 193

4.5.1 类名与class类型 194

4.5.2 类名作用域 195

4.5.3 类对象与类成员 195

4.5.4 内部函数 196

4.5.5 静态成员 196

4.5.6 成员作用域 198

4.5.7 基类与派生类存取 199

4.5.8 虚基类 201

4.6 构造函数 201

4.6.1 默认构造函数 202

4.6.3 构造函数的调用次序 203

4.6.2 构造函数的重载 203

4.6.4 类的初始化 204

4.7 析构函数 207

4.7.1 析构函数的调用 207

4.7.2 atexit、#pragma exit与析构函数 207

4.7.3 exit与析构函数 208

4.7.4 abort与析构函数 208

4.7.5 虚析构函数 208

4.8 类的方法 209

4.8.1 方法参数 210

4.8.2 方法重载 212

4.8.3 方法覆盖 214

4.8.4 类的属性 216

4.9 索引 217

4.10 事件处理 219

4.11 使用修饰符 221

4.11.1 类修饰符 221

4.11.2 成员修饰符 222

4.11.3 存取修饰符 222

第5章 C#结构、文件处理 225

5.1 C#的结构及其用法 225

5.1.1 结构的定义 225

5.1.2 结构的初始化 228

5.1.3 嵌套结构 230

5.2 结构数组 232

5.2.1 结构数组的声明 232

5.2.3 建立结构数组 234

5.2.2 结构数组的访问 234

5.3 数组结构成员 235

5.4 顺序文件 237

5.4.1 为什么要使用磁盘 237

5.4.2 磁盘文件访问类型 237

5.4.3 顺序文件的操作 238

5.4.4 文件的打开和关闭 238

5.4.5 写文件 241

5.4.6 追加文件 243

5.4.7 读文件 244

5.5 随机文件 245

5.5.1 随机文件记录 245

5.5.2 打开随机文件 246

6.1.1 为什么需要属性 248

第6章 域、属性与索引器 248

6.1 属性 248

6.1.2 属性的定义 252

6.1.3 属性的读/写类型 253

6.1.4 属性的底层实现 253

6.1.5 属性的继承 256

6.2 索引器 259

6.2.1 索引器的定义 259

6.2.2 索引器的底层实现 262

6.2.3 多索引器例题 264

6.3 域 265

6.3.2 静态域和非静态域 266

6.3.1 声明 266

6.3.3 只读域 268

6.3.4 域的初始化 269

6.4 复习题 270

6.5 本章小结 271

第7章 接口 272

7.1 组件编程技术 272

7.1.1 应用程序的体系结构 272

7.1.2 组件 273

7.1.3 组件化程序设计 274

7.2 接口定义 274

7.2.1 声明 274

7.2.2 接口的继承 275

7.3.2 对接口成员的访问 276

7.3 接口的成员 276

7.3.1 接口成员的定义 276

7.3.3 接口成员的全权名 279

7.4. 接口的实现 280

7.4.1 类对接口的实现 280

7.4.2 显式接口成员执行体 282

7.4.3 接口映射 284

7.4.4 接口实现的继承机制 288

7.4.5 接口的重实现 290

7.5 抽象类与接口 292

7.6 本章小结 292

7.7 复习题 293

8.1 什么是异常 295

第8章 异常处理 295

8.3 C#的异常处理机制 296

8.2 异常的基本思想 296

8.3.1 C#与C++异常处理的区别 297

8.3.2 引发异常的条件 297

8.4 异常处理的实现 298

8.4.1 try-catch组合 299

8.4.2 try-finally组合 302

8.4.3 try-catch-finally组合 305

8.5 异常处理规则 306

8.6 throw语句 309

8.7 用户自定义异常 311

8.8 异常处理与跳转语句 314

8.10 复习题 316

8.9 本章小结 316

第9章 C#控件 319

9.1 Windows下的编程 319

9.1.1 Windows下编程要注意的 319

几个问题 319

9.1.2 开发一个Windows下的 320

应用程序 320

9.2 常用的form控件 327

9.2.1 控件的基本概念 327

9.2.2 从哪里得到控件 328

9.2.3 控件的使用方法简介 328

和图标的使用 332

9.2.4 菜单、工具栏、状态栏、 332

9.3 本章小结 335

第10章 图形开发 336

10.1 Visual csharp画图基本概念 336

10.1.1 上下文设备,句柄和 336

Graphics对象 336

10.1.2 画一条直线 336

10.1.3 画图和填充 338

10.1.4 构造Regions 339

和Cloning Images 340

10.1.6 Drawing,Positioning 340

10.1.5 Ellipses和Arcs 340

10.1.7 Polygons 341

10.1.8 Pens,Lines和Rectangles高级使用 342

10.1.9 Regions高级使用 343

10.1.10 Paths 344

10.2 Graphics类 345

10.2.1 Graphics概述 345

10.2.2 Rectangle,Size和Point 345

10.2.3 Graphics画图 346

10.3.3 Font和Color 350

10.3.2 Bitmap 350

10.3.4 Pen 350

10.3.1 Brush 350

Color简介 350

10.3 Pen,Font,Brush,Bitmap和 350

10.4 图形编程 351

10.4.1 创建应用程序框架 351

10.4.2 界面设计 352

10.4.3 代码设计 359

10.4.4 程序运行结果 364

第11章 数据库 366

11.1 数据库 366

11.1.1 数据库简介 366

11.1.2 数据库的体系结构 366

11.1.3 数据库的操作过程 367

11.2 数据库世界的世界语——SQL 368

11.2.1 数据定义语言(DDL) 369

11.2.2 数据控制语言(DCL) 373

11.2.3 数据处理语言(DML) 374

11.3 ADO编程 382

11.3.1 基本的ADO编程模型 382

11.3.2 使用ADO的对象实现 383

ADO的编程模型 383

11.4 ADO数据库编程开发应用实例 397

11.4.1 设计应用程序 398

11.4.2 编译执行 420

11.5 本章小结 421

第12章 网络 423

12.1 网络基本知识 423

12.1.1 网络发展的历史 423

12.1.2 网络参考模型 424

12.1.3 Client/Server编程模式 426

12.2 VS.NET的Socket 427

12.2.1 建立Socket 427

12.2.2 连接一个Socket 428

12.2.3 使用Socket类 429

12.2.4 Socket调用过程 431

12.3 Socket类 432

12.3.1 Socket构造函数 432

12.3.2 绑定地址Bind() 432

12.3.3 建立连接Connect() 433

12.3.4 监听服务请求Listen() 433

SendTo() 434

12.3.5 发送数据Send()和 434

12.3.6 接收数据Receive() 436

和ReceiveFrom() 436

12.3.7 关闭Close() 438

12.3.8 Select() 438

12.4 网络上的数据表示 439

12.5 Socket编程实例 444

12.5.1 创建新项目 444

12.5.2 添加命名空间 445

12.5.3 设计几个辅助函数 445

12.5.4 添加控件 449

12.5.5 接收和发送数据 451

12.5.6 退出程序 453

12.6.1 获取本机名和IP地址 454

12.5.7 执行程序 454

12.6 TCP/IP网络应用 454

12.6.2 TCP网络时间服务应用 455

12.6.3 UDP组播网络时间 459

服务应用 459

12.7 本章小结 461

12.8 复习题 461

第13章 多线程 463

13.1 线程基本知识 463

13.1.1 线程与进程 463

13.1.3 线程的优点 464

13.2 工作线程 464

13.1.2 线程是如何工作的 464

13.2.1 Windows的线程实现函数 465

13.2.2 启动线程 465

13.3 多线程编程的常用类 468

13.3.1 线程同步 468

13.3.2 Thread类 469

13.3.3 Mutex类 473

13.3.4 AutoResetEvent和 474

ManualResetEvent 474

13.3.5 管道(Monitor) 475

13.3.6 Interlocked 476

13.3.7 ThreadPool 476

13.4.1 界面设计 477

13.4 多线程编程 477

13.3.8 ReaderWriterLock类 477

13.4.2 设计几个线程函数 480

13.4.3 增加Mutex类 482

13.4.4 增加Thread类 482

13.4.5 启动线程 483

13.4.6 关闭线程 484

13.4.7 线程清除工作 484

13.4.8 程序运行 485

13.5 本章小结 486

13.6 复习题 486

14.1 条件编译 487

14.1.1 预处理器的用法 487

第14章 应用配置和组件 487

14.1.2 条件(Conditional)属性 490

14.2 XML中的文档注释 492

14.2.1 描述一个成员 492

14.2.2 添加备注和列表 494

14.2.3 提供例子 497

14.2.4 描述参数 499

14.2.5 描述属性 501

14.2.6 编译文档 502

14.3 代码版本化 503

14.3.1 .NET组件的版本号 503

14.3.2 私有.NET组件 503

编写的组件 504

14.4.1 设计一个用Visual C# 504

14.4 设计组件 504

14.3.3 共享.NET组件 504

14.4.2 设计一个用VB写的组件 507

14.5 组件的调用 507

14.6 本章小结 510

第15章 代码调试和安全 511

15.1 C#代码调试任务 511

15.1.1 创建一个调试版本 511

15.1.2 选择可执行程序 512

15.1.3 设置中断点的4种方法 512

15.1.4 逐句测试C#程序 513

15.1.5 添加可执行程序到一个进程 513

15.1.7 处理异常事件 514

15.1.6 修改当前变量 514

15.1.8 用JIT调试C#程序 515

15.1.9 调试C#组件 515

15.2 中间语言分解器的使用 515

15.3 .NET与COM互操作性 516

15.3.1 在COM中使用.NET组件 516

15.3.2 在.NET中访问COM对象 521

15.4 平台请求服务 523

15.5 C#支持的不安全代码 524

15.6 代码访问安全机制 525

15.6.1 代码类型安全的认定 526

15.6.2 标准许可与身份许可 526