《C#和.NET核心技术》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:(美)佩里(Perry,S.C.)著;肖斌等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2006
  • ISBN:7111192958
  • 页数:572 页
图书介绍:本书详细讲解了C#和.NET核心技术的概念和应用。

序 1

前言 1

第一部分 C#编程基础和.NET概述第1章 .NET和C#介绍 1

1.1 .NET框架概述 1

1.2 通用语言运行时CLR 3

1.2.1 编译.NET代码 3

1.2.2 通用类型系统 5

1.2.3 程序集 6

1.3 框架类库 9

1.4 使用.NET框架和SDK 10

1.4.1 更新.NET框架 11

1.4.2 .NET框架工具 11

1.4.3 Ildasm.exe 12

1.4.5 wincv.exe 14

1.4.4 Ildasm和模糊技术 14

1.4.6 框架配置工具 15

1.5 了解C#编译器 16

1.5.1 找到编译器 17

1.5.2 从命令行编译 17

1.6 小结 19

1.7 习题 19

第2章 C#语言基础 20

2.1 C#程序的布局组成 20

2.2 基本类型 23

2.2.1 decimal 25

2.2.2 bool 25

2.2.3 char 25

2.2.4 byte和sbyte 25

2.2.7 使用Parse和TryParse转换数字字符串 26

2.2.6 single和double 26

2.2.5 short、im和long 26

2.3 算术操作符、逻辑操作符和条件操作符 27

2.3.1 算术操作符 27

2.3.2 条件和关系操作符 27

2.3.3 流程控制语句 28

2.3.4 if-else语句 29

2.3.5 switch语句 29

2.4 循环 30

2.4.1 while循环 30

2.4.2 do循环 31

2.4.3 for循环 31

2.4.4 foreach循环 32

2.4.5 循环中的跳转控制 32

2.5.1 条件编译 33

2.5 C#预处理指令 33

2.5.2 诊断指令 34

2.5.3 代码域 34

2.6 字符串 35

2.6.1 字符串直接量 35

2.6.2 字符串操作 35

2.7 枚举类型 37

2.7.1 使用枚举 38

2.7.2 System.Enum的方法 39

2.7.3 枚举和位标志 39

2.8 数组 39

2.8.1 声明和创建数组 40

2.8.2 使用System.Array的方法和成员属性 40

2.9 引用类型和值类型 42

2.9.3 装箱 43

2.9.1 System.Object和System.ValueType 43

2.9.2 引用类型和值类型的内存分配 43

2.9.4 值类型和引用类型差别小结 44

2.10 小结 45

2.11 习题 45

第3章 C#类设计 46

3.1 C#类简介 46

3.2 定义类 47

3.2.1 属性 47

3.2.2 访问修饰符 48

3.2.3 Abstract、Sealed和Static修饰符 49

3.2.4 类标识符 49

3.2.5 基类、接口和继承 49

3.4 常量、字段和成员属性 50

3.3 类成员概述 50

3.4.1 常量 51

3.4.2 字段 51

3.4.3 成员属性 53

3.4.4 索引器 54

3.5 方法 56

3.5.1 方法修饰符 56

3.5.2 传递参数 59

3.6 构造函数 61

3.6.1 实例构造函数 61

3.6.2 私有构造函数 63

3.6.3 静态构造函数 64

3.7 委托和事件 65

3.7.1 委托 65

3.7.2 基于委托的事件处理 66

3.8 操作符重载 72

3.9.1 创建和使用定制接口 74

3.9 接口 74

3.9.2 使用接口 76

3.10 范型 77

3.11 结构 78

3.11.1 定义结构 79

3.11.2 使用结构的方法和成员属性 80

3.12 结构和类的比较 80

3.12.1 结构是值类型,类是引用类型 81

3.12.2 与类不同,结构不能被继承 81

3.12.3 选择结构或类的一般规则 81

3.13 小结 82

3.14 习题 82

4.1 对象创建 84

第4章 使用C#对象 84

4.2 异常处理 86

4.2.1 System.Exception类 87

4.2.2 编写异常处理代码 87

4.2.3 例:处理通用SystemException异常 89

4.2.4 如何创建定制异常类 90

4.2.5 未处理异常 92

4.2.6 异常处理原则 93

4.3 定制类中实现System.Object方法 93

4.3.1 用ToString()方法描述对象 94

4.3.2 比较对象的Equals()方法 95

4.3.3 克隆来创建对象副本 97

4.4 使用.NET集合类和接口 98

4.4.1 集合接口 98

4.4.2 System.Collections命名空间 104

4.4.3 栈和队列 105

4.4.4 ArrayList 106

4.4.5 Hashtable 107

4.4.6 System.Collections.Generic命名空间 109

4.5 对象串行化 111

4.6 对象生命周期管理 113

4.7 小结 117

4.8 习题 118

第二部分 使用.NET框架类库创建应用第5章 C#文本处理和文件I/O 119

5.1 字符和Unicode 119

5.1.1 Unicode 120

5.1.2 使用字符 120

5.2.1 创建字符串 123

5.2 String类 123

5.2.2 字符串操作概述 124

5.3 比较字符串 125

5.3.1 使用String.Compare 125

5.3.2 使用String.CompareOrdinal 126

5.4 搜索、修改和编码字符串内容 127

5.4.1 搜索字符串内容 127

5.4.2 搜索包含代理的字符串 127

5.4.3 字符串转换 128

5.4.4 字符串编码 129

5.5 StringBuilder 130

5.5.1 StringBuilder类概述 131

5.5.2 StringBuilder与字符串连接的比较 131

5.6 格式化数字和日期值 132

5.6.1 构造格式元素 132

5.6.2 格式化数字值 133

5.6.3 格式化日期和时间 134

5.7 正则表达式 137

5.7.1 Regex类 137

5.7.2 创建正则表达式 140

5.7.3 模式匹配示例 141

5.7.4 使用组 143

5.7.5 示例:使用正则表达式 144

5.8 System.IO:读写数据流的类 145

5.8.1 Stream类 145

5.8.2 FileStream 146

5.8.3 MemoryStream 147

5.8.4 BufferedStream 147

5.8.5 用StreamReader和StreamWriter读写文本行 148

5.8.7 使用CryptoStream类加密 150

5.8.6 StringWriter和StringReader 150

5.9 System.IO:目录和文件 152

5.9.1 FileSystemInfo 152

5.9.2 使用DirectoryInfo、Directory和Path类处理目录 153

5.9.3 使用FileInfo和File类处理文件 156

5.10 小结 157

5.11 习题 157

第6章 建立Windows窗体应用 159

6.1 Windows窗体编程 160

6.2 Windows.Forms控件类 162

6.2.1 Control类 162

6.2.2 使用控件 163

6.2.3 控件事件 166

6.3 Form类 170

6.3.1 设置窗体外观 170

6.3.2 设置窗体位置和大小 173

6.3.3 显示窗体 174

6.3.4 非模式窗体的生命周期 174

6.3.5 窗体交互——示例应用 175

6.3.6 属主和从属窗体 178

6.3.7 消息框和对话框 178

6.3.8 多文档界面窗体 180

6.4 使用菜单 183

6.4.1 MenuItem属性 183

6.4.2 上下文菜单 183

6.5 为窗体增加帮助 185

6.5.1 ToolTips 185

6.5.2 响应F1和帮助按钮 186

6.5.3 HelpProvider组件 187

6.6.2 使用继承窗体 188

6.6.1 建立和使用窗体库 188

6.6 窗体继承 188

6.7 小结 189

6.8 习题 189

第7章 Windows窗体控件 190

7.1 .NET Windows窗体控件概述 190

7.2 Button类、GroupBox、Panel和Label 192

7.2.1 Button类 192

7.2.2 CheckBox类 193

7.2.3 RadioButton类 193

7.2.4 GroupBox类 195

7.2.5 Panel类 195

7.2.6 Label类 196

7.3 PictureBox和TextBox控件 197

7.3.1 PictureBox类 197

7.3.2 TextBox类 199

7.4 ListBox、CheckedListBox和ComboBox类 200

7.4.1 ListBox类 200

7.4.2 其他列表控件:ComboBox和CheckedListBox 203

7.5 ListView和TteeView类 204

7.5.1 ListView类 204

7.5.2 TreeView类 208

7.6 ProgressBar、Timer和StatusStrip类 212

7.7 建立定制控件 214

7 7.1 扩展控件 214

7.7 2 建立定制用户控件 214

7.7.3 用户控件示例 214

7 7.4 使用定制用户控件 216

7.7.5 设计时使用用户控件 217

7.8 拖放控件 217

7.9 使用资源 220

7.9.1 使用资源文件 221

7.9.2 用资源文件创建本地化窗体 223

7.10 小结 225

7.11 习题 225

第8章 使用GDI+的.NET图形 226

8.1 GDI+概述 226

8.1.1 Graphics类 227

8.1.2 Paint事件 229

8.2 使用Graphics对象 231

8.2.1 基本二维图形 231

8.2.2 Pen 234

8.2.3 Brush 236

8.2.4 Color 239

8.2.5 示例:建立颜色浏览器 240

8.3 图像 243

8.3.1 加载和存储图像 244

8.3.2 处理图像 246

8.3.3 示例:使用图像 247

8.3.4 Microsoft Windows平台GDI和BitBlt的有关提示 252

8.4 小结 253

8.5 习题 253

第9章 字体、文本和打印 255

9.1 字体 255

9.1.1 字体族 256

9.1.2 Font类 256

9.2 绘制文本串 258

9.2.1 绘制多行文本 259

9.2.2 用StringFormat类格式化字符串 259

9.2.3 使用制表位 260

9.2.4 字符串截断、对齐和自动换行 261

9.3 打印 262

9.3.1 概述 262

9.3.2 PrintDocument类 263

9.3.3 打印机设置 264

9.3.4 页面设置 265

9.3.5 PrintDocument事件 266

9.3.6 PrintPage事件 267

9.3.7 预览打印报表 268

9.3.8 报表示例 269

9.3.9 创建定制PrintDocument类 271

9.4 小结 273

9.5 习题 273

第10章 在.NET中使用XML 275

10.1 使用XML 275

10.1.1 使用XML串行化创建XML数据 276

10.1.2 XML模式定义(XSD) 278

10.1.3 使用XML样式表 280

10.2 XML数据读取技术 281

10.2.1 XmlReader类 282

10.2.2 XmlNodeReader类 285

10.2.3 XmlReaderSettings类 286

10.2.4 用XML模式验证XML数据 287

10.2.5 读取XML数据的其他方法 287

10.3 XML数据写出技术 288

10.4 用XPath搜索XML 290

10.4.1 构造XPath查询 290

10.4.2 XmlDocument和XPath 292

10.4.3 XPathDocument和XPath 292

10.4.4 XmlDataDocument和XPath 293

10.6 习题 295

10.5 小结 295

第11章 ADO.NET 296

11.1 ADO.NET体系结构概述 296

11.1.1 .NET中的OLE DB数据提供者 297

11.1.2 .NET数据提供者 297

11.2 数据访问模型:连接模型和无连接模型 299

11.2.1 连接模型 299

11.2.2 无连接模型 300

11.3 ADO.NET连接模型 301

11.3.1 连接类 301

11.3.2 命令对象 304

11.3.3 DataReader对象 307

11.4 数据集、数据表和无连接模型 308

11.4.2 数据表 309

11.4.1 DataSet类 309

11.4.3 向DataSet加载数据 312

11.4.4 定义DataSet中表之间的关系 316

11.4.5 连接模型和无连接模型的选择 318

11.5 XML和ADO.NET 318

11.5.1 用DataSet创建XML数据和模式文件 318

11.5.2 从XML创建DataSet模式 320

11.5.3 将XML数据读入DataSet 320

11.6 小结 322

11.7 习题 322

第12章 Windows窗体控件的数据绑定 324

12.1 数据绑定概述 324

12.1.1 简单数据绑定 325

12.1.2 与列表控件的复杂绑定 326

12.1.3 单向和双向数据绑定 327

12.1.4 使用绑定管理器 328

12.2 应用中使用简单和复杂数据绑定 330

12.2.1 绑定到DataTable 330

12.2.2 控件绑定到ArrayList 332

12.2.3 向数据源添加元素 334

12.2.4 验证更新 335

12.2.5 更新原始数据库 335

12.3 DataGridView类 336

12.3.1 成员属性 336

12.3.2 事件 341

12.3.3 建立主表-明细表DataGridView 344

12.3.4 虚拟模式 346

12.4 小结 349

12.5 习题 350

13.1 什么是线程 351

第三部分 C#和.NET框架的高级使用第13章 异步编程和多线程 351

13.2 异步编程 353

13.2.1 异步委托 354

13.2.2 实现异步调用的示例 356

13.3 直接使用线程 362

13.3.1 创建和使用线程 362

13.3.2 多线程实际应用 365

13.3.3 使用线程池 367

13.3.4 定时器 368

13.4 线程同步 369

13.4.1 Synchronization属性 371

13.4.2 Monitor类 371

13.4.3 Mutex 372

13.4.4 Semaphore 373

13.4.5 避免死锁 374

13.4.6 同步技术小结 375

13.5 小结 375

13.6 习题 376

第14章 利用远程通信创建分布式应用 378

14.1 应用域 378

14.1.1 应用域的优点 378

14.1.2 应用域和程序集 379

14.1.3 使用AppDomain类 379

14.2 远程通信 381

14.2.1 远程通信体系结构 382

14.2.2 远程通信类型 384

14.2.3 客户端激活对象 386

14.2.4 服务器激活对象 386

14.2.5 类型注册 387

14.2.6 与服务器激活对象SAO的远程通信 389

14.2.7 与客户端激活对象CAO的远程通信 395

14.2.8 分布式应用的设计原则 399

14.3 租约和缔约 400

14.3.1 租约 400

14.3.2 缔约 402

14.4 小结 404

14.5 习题 404

第15章 代码优化、安全与部署 406

15.1 遵循.NET代码设计准则 407

15.2 强命名程序集 409

15.2.1 创建强命名程序集 410

15.2.2 延迟签名 411

15.2.3 全局程序集缓存(GAC) 411

15.3 安全 412

15.2.4 版本 412

15.3.1 权限和权限集 413

15.3.2 证据 416

15.3.3 安全策略 418

15.3.4 配置安全策略 419

15.3.5 .NET框架配置工具 420

15.3.6 示例:使用配置工具配置代码访问安全 422

15.3.7 为程序集请求权限 424

15.3.8 程序式安全 426

15.4 部署应用的有关考虑 431

15.4.1 Microsoft Windows部署:XCOPY部署与Windows Installer 431

15.4.2 程序集部署到GAC中 431

15.4.3 部署私有程序集 432

15.4.4 使用CodeBase配置 432

15.4.6 程序集版本和产品信息 433

15.4.5 使用配置文件管理程序集的多个版本 433

15.6 习题 434

15.5 小结 434

第四部分 Internet编程 437

第16章 ASP.NET Web表单和控件 437

16.1 Internet的客户端-服务器交互 438

16.1.1 Web应用示例:实现BMI计算器 438

16.1.2 使用ASP.NET实现BMI计算器 441

16.1.3 内联代码模型 442

16.1.4 代码隐藏模型 447

16.1.5 部分类代码隐藏 449

16.1.6 Page类 450

16.2 Web表单控件 452

16.2.1 Web控件概述 453

16.2.3 简单控件 454

16.2.2 指定Web控件的外观 454

16.2.4 列表控件 457

16.2.5 DataList控件 459

16.3 数据绑定和数据源控件 461

16.3.1 绑定到DataReader 461

16.3.2 绑定到DataSet 463

16.3.3 数据源控件 464

16.4 验证控件 469

16.5 母版页和内容页 472

16.5.1 创建母版页 473

16.5.2 创建内容页 474

16.5.3 从内容页访问母版页 475

16.6 建立和使用定制Web控件 475

16.6.1 定制控件示例 476

16.6.2 使用定制控件 477

16.6.3 控件状态管理 478

16.6.4 复合控件 479

16.7 选择Web控件显示数据 481

16.8 小结 481

16.9 习题 481

第17章 ASP.NET应用环境 483

17.1 HTTP请求和响应类 483

17.1.1 HttpRequest对象 484

17.1.2 HttpResponse对象 486

17.2 ASP.NET和配置文件 489

17.2.1 Web.config剖析 490

17.2.2 增加定制配置段 493

17.3 ASP.NET应用安全 495

17.3.1 表单认证 495

17.3.2 表单认证示例 497

17.4 状态维护 500

17.4.1 应用状态 501

17.4.2 会话状态 502

17.5 缓存 504

17.5.1 页面输出缓存 504

17.5.2 数据缓存 506

17.6 用WebRequest和WebResponse创建Web客户 508

17.6.1 WebRequest和WebResponse类 508

17.6.2 Web客户示例 509

17.7 HTTP管线 510

17.7.1 管线中处理请求 510

17.7.2 HttpApplication类 512

17.7.3 HTTP模块 514

17.7.4 HTTP处理器 517

17.9 习题 520

17.8 小结 520

第18章 XML Web服务 521

18.1 Web服务简介 521

18.1.1 发现和使用Web服务 522

18.1.2 UDDI简介 522

18.2 构建XML Web服务 524

18.2.1 手动创建Web服务 525

18.2.2 用VS.NET创建Web服务 527

18.2.3 用WebService和WebMethod属性扩展Web服务 528

18.3 构建XML Web服务客户 530

18.3.1 创建简单的客户来访问Web服务类 530

18.3.2 用Visual Studio.NET创建代理 536

18.4 理解WSDL和SOAP 537

18.4.1 WSDL 537

18.4.2 SOAP 539

18.5 在Web服务中使用复杂数据类型 544

18.5.1 返回图像的Web服务 544

18.5.2 使用Amazon Web服务 545

18.5.3 为Amazon Web服务创建代理 547

18.5.4 构建WinForms Web服务客户 548

18.6 Web服务性能 550

18.6.1 配置HTTP连接 550

18.6.2 处理大量数据 551

18.7 小结 551

18.8 习题 551

附录 553

附录A .NET 2.0和C#2.0的特有特性 553

附录B DataGridView事件和委托 555

习题答案 563