《Visual C#.NET技术内幕》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:(美)Mickey williams著;冉小旻,罗邓,郭炎译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2007
  • ISBN:7302145555
  • 页数:598 页
图书介绍:本书Visual C#.NET介绍开发应用程序的方法。

第1部分 Visual C#.NET简介 3

第1章 Visual Studio.NET和Visual C#.NET简介 3

1.1 创建基于.NET平台的应用程序 3

1.1.1 .NET框架 4

1.1.2 了解程序集 5

1.2 Visual Studio.NET简介 7

1.2.1 起始页 8

1.2.2 Visual Studio.NET的窗口 9

前言 13

1.2.3 Visual Studio.NET选项 14

1.2.4 Visual Studio.NET的帮助 16

1.3 创建Visual C#解决方案 16

1.3.1 使用项目模板 17

1.3.2 生成新的解决方案 18

1.4 典型Visual C#程序的布局 19

1.4.1 注释源代码 20

1.4.2 使用命名空间 21

1.4.3 声明类 21

1.4.4 定义Main方法 22

1.4.5 编译项目 23

1.4.6 输出Hello World 23

1.5 本章小结 24

第2章 C#基础 25

2.1 基本数据类型 26

2.1.1 .NET公共类型系统 27

2.1.2 公共语言规范 27

2.2 类 28

2.2.1 在Visual C#中添加类 28

2.2.2 声明类 29

2.2.3 继承简介 31

2.2.4 object基类 34

2.2.5 类成员 35

2.2.6 继承和方法 45

2.2.7 可访问性 47

2.3 命名空间 50

2.3.1 新建命名空间 51

2.3.2 使用命名空间 52

2.3.3 添加引用 53

2.4 接口 54

2.4.1 使用接口 54

2.4.2 类和接口 55

2.5 通过异常处理来管理错误 55

2.5.1 异常处理 56

2.5.2 .NET框架的异常 61

2.6 强制类型转换 61

2.7 结构 64

2.7.1 结构与继承 64

2.7.2 分配结构 64

2.7.3 成员函数 65

2.8 枚举 65

2.9 本章小结 66

第3章 值类型和引用类型 67

3.1 理解值类型 68

3.1.1 值类型的生存期 68

3.1.2 装箱 69

3.1.3 声明新的值类型 70

3.2 理解引用类型 70

3.2.1 处理数组 71

3.2.2 处理字符串 75

3.2.3 引用类型的生存期和垃圾回收 76

3.3 本章小结 83

第4章 运算符、类型转换和属性 84

4.1 了解运算符 84

4.1.1 使用关系运算符比较对象 85

4.1.2 使用逻辑运算符构建逻辑表达式 86

4.1.3 使用算术运算符进行算术运算 88

4.1.4 使用位运算符管理位模式 89

4.1.5 使用赋值运算符设置变量的值 92

4.1.6 使用条件运算符 94

4.1.7 获取类型信息 94

4.1.9 使用其他运算符 95

4.1.8 直接寻址 95

4.2 使用运算符 96

4.2.1 理解运算符优先级 96

4.2.2 使用checked和unchecked关键字 98

4.2.3 为类型定义运算符 98

4.2.4 创建新的值类型 100

4.2.5 控制&&和||的行为 104

4.3 类型转换 105

4.3.1 进行隐式类型转换 106

4.3.2 进行显式类型转换 106

4.3.3 使用Convert类 107

4.3.4 进行用户自定义类型转换 107

4.4 数值的基本字符串格式 108

4.5 将属性作为智能字段使用 110

4.6 本章小结 111

第5章 流程控制 112

5.1 根据条件选取代码路径 113

5.1.1 if语句 113

5.1.2 switch语句 115

5.2 使用迭代语句建立循环 118

5.2.1 for循环 118

5.2.2 foreach循环 121

5.2.3 while循环 123

5.2.4 do循环 124

5.3 使用跳转语句改变控制 126

5.3.1 break语句 127

5.3.2 continue语句 128

5.3.3 goto语句 129

5.3.5 throw语句 130

5.3.4 return语句 130

5.3.6 将控制转出异常处理模块 131

5.4 本章小结 132

第Ⅱ部分 C#高级应用 135

第6章 委托与特性 135

6.1 使用委托 135

6.1.1 创建委托 136

6.1.2 将委托用作回调方法 137

6.1.3 将委托作为算符使用 139

6.1.4 组合委托 141

6.1.5 手工迭代委托链 142

6.1.6 委托与非静态方法的共用 144

6.2 事件处理 147

6.2.1 使用事件字段 148

6.2.2 引发事件 149

6.2.3 使用事件的例子 150

6.3 设置特性 152

6.3.1 使用特性 153

6.3.2 特性解析 153

6.3.3 定义自定义特性 154

6.3.4 创建强名称 162

6.4 本章小结 163

第7章 索引生成器与枚举数 164

7.1 使用索引生成器 165

7.1.1 声明索引生成器 165

7.1.2 为接口声明索引生成器 168

7.1.3 索引生成器示例 169

7.2 使用枚举数 171

7.2.1 理解枚举数接口 172

7.2.2 实现枚举接口 173

7.2.3 使用枚举接口 177

7.3 本章小结 178

第8章 集合与排序 179

8.1 比较与排序 179

8.1.1 用IComparable接口创建可比类型 179

8.1.2 用IComparer接口建立比较类 182

8.2 在集合类中的排序对象 186

8.2.1 集合界面的一般应用 186

8.2.2 使用Queue类 190

8.2.3 使用Stack类 195

8.2.4 使用Hashtable类 196

8.2.5 使用专用集合类 198

8.3 本章小结 201

9.1 根据条件编译代码 202

第9章 调试技术 202

9.2 跟踪堆栈 205

9.2.1 显示调用堆栈 205

9.2.2 访问详细的方法信息 207

9.3 使用Trace和Debug类 208

9.3.1 生成程序跟踪信息 209

9.3.2 用Trace和Debug类显示消息 209

9.3.3 用开关控制输出 212

9.3.4 使用跟踪侦听器处理跟踪消息 215

9.4 用Visual Studio.NET进行调试 223

9.4.1 设置断点 224

9.4.2 使用调用堆栈 226

9.5 本章小结 227

10.1.1 了解应用程序域 228

10.1 编写多线程代码 228

第10章 高级论题 228

10.1.2 使用线程 229

10.1.3 同步共享对象访问 233

10.1.4 使用线程池的异步操作 243

10.2 使用不安全代码 247

10.2.1 了解对不安全代码的需求 248

10.2.2 声明不安全上下文 248

10.3 本章小结 254

第Ⅲ部分 Windows窗体设计 257

第11章 Windows窗体简介 257

11.1 理解Windows窗体 258

11.1.1 将窗体作为对话框使用 258

11.1.2 把窗体作为视图使用 258

11.2.1 检查Visual C#.NET创建的文件 259

11.2 开发简单的Windows窗体项目 259

11.2.2 执行Windows窗体项目 263

11.2.3 为项目添加新窗体 263

11.2.4 模式窗体与无模式窗体 264

11.2.5 确定DialogResult值 264

11.2.6 向窗体传递值 265

11.3 用消息框显示信息 266

11.3.1 指定消息框按钮 267

11.3.2 向消息框中添加图标 267

11.3.3 为消息框定义默认按钮 268

11.3.4 控制消息框的特殊情况 269

11.3.5 为消息框指定父窗口 269

11.4 控制Windows窗体应用程序 270

11.4.1 启动应用程序 270

11.4.2 确定应用程序路径信息 271

11.4.3 执行空闲操作 273

11.4.4 关闭应用程序 273

11.5 使用窗体属性影响窗体性态 274

11.5.1 设置边框风格 275

11.5.2 定义其他窗体属性 275

11.6 本章小结 277

第12章 为窗体添加控件 278

12.1 控件简介 279

12.2 使用Button类 279

12.2.1 ButtonBase类 279

12.2.2 Button类 280

12.2.3 RadioButton类 284

12.2.4 CheckBox类 285

12.3.1 事件处理结构 286

12.3 基本事件处理 286

12.3.2 添加新的事件处理器 287

12.3.3 删除事件处理器 290

12.3.4 把按键转换为点击按钮 290

12.3.5 验证控件的内容 290

12.4 使用TextBox类 292

12.4.1 隐藏文本框控件中的密码 293

12.4.2 使用多行文本框控件 293

12.4.3 使用其他的文本框属性 294

12.5 使用Label类 295

12.6 使用LinkLabel类 295

12.6.1 处理Click事件 296

12.6.2 LinkLabel的独有属性 296

12.7 使用ListBox类 298

12.7.1 向列表框中添加项目 299

12.7.2 从列表框中删除项目 301

12.7.3 防止在当更新列表框时重新绘制 301

12.7.4 选择列表框项目 302

12.7.5 使用其他列表框属性 305

12.8 使用CheckedListBox类 306

12.8.1 选中复选列表框中的项目 307

12.8.2 处理复选列表框事件 308

12.9 使用ComboBox类 309

12.9.1 使用组合框的属性 309

12.9.2 处理组合框事件 311

12.10 使用ScrollBar类进行卷动控制 312

12.11 作为容器的控件 313

12.11.1 内嵌控件 313

12.12 本章小结 314

12.11.3 Panel类 314

12.11.2 GroupBox类 314

第13章 用户输入与反馈 316

13.1 使用鼠标 316

13.1.1 处理鼠标移动事件 317

13.1.2 处理鼠标选择事件 319

13.1.3 用鼠标指针提供反馈 322

13.2 接受键盘输入 329

13.2.1 获取输入焦点 329

13.2.2 使用Keys枚举 330

13.2.3 从键盘处理事件 332

13.3 使用有窗体的主菜单 333

13.3.1 创建主菜单 334

13.3.2 处理菜单事件 340

13.3.3 更新菜单项 341

13.3.4 使用多个菜单 342

13.3.5 创建简单的编辑器 342

13.4 实现快捷菜单 350

13.4.1 创建基本的快捷菜单 350

13.4.2 快捷菜单的编程 351

13.5 用状态栏提供反馈 353

13.5.1 创建状态栏 353

13.5.2 使用状态栏面板 354

13.5.3 显示时间和日期 357

13.6 本章小结 359

第14章 GDI+ 360

14.1 了解Windows窗体几何形状 360

14.1.1 用Point结构指定位置 361

14.1.3 定义矩形 362

14.1.2 定义可视元素的大小 362

14.2 使用Graphics类 363

14.2.1 处理Paint事件 364

14.2.2 用GDI+绘制文本 364

14.2.3 绘制线条 367

14.2.4 绘制矩形 368

14.2.5 填充矩形 369

14.3 对Windows窗体使用颜色 372

14.3.1 创建Color结构 372

14.3.2 使用Color属性 373

14.3.3 使用当前的系统颜色 374

14.3.4 【颜色】公用对话框 375

14.4 使用画笔 378

14.4.2 使用TextureBrush类 380

14.4.1 创建纯色画笔 380

14.4.3 使用阴影画笔模式填充形状 383

14.4.4 使用LinearGradientBrush类 384

14.4.5 使用PathGradientBrush类 387

14.5 使用笔 389

14.5.1 使用SystemPens和Pens类 389

14.5.2 使用Pen类 391

14.6 使用字体 395

14.6.1 了解字体符号集 395

14.6.2 使用FontCollection类 397

14.6.3 字体规格 398

14.6.4 【字体】公用对话框 402

14.7 本章小结 402

第15章 高级控件 403

15.1.1 NumericUpDown控件 404

15.1 使用Up-Down控件 404

15.1.2 DomainUpDown控件 405

15.2 使用ProgressBar控件 407

15.3 使用PictureBox控件 408

15.4 使用ImageList控件 408

15.5 使用RichTextBox控件 410

15.5.1 公共格式化选项 411

15.5.2 从文件加载RichTextBox控件 412

15.5.3 保存RichTextBox控件的内容 413

15.6 使用TabControl控件 413

15.6.1 创建TabPage对象 414

15.6.2 编程管理TabPage对象 414

15.6.3 使用Windows窗体设计器创建TabControl控件 416

15.6.4 管理TabControl控件 417

15.7 使用MonthCalendar控件 419

15.8 使用DateTimePicker控件 423

15.9 管理控件的位置和大小 426

15.9.1 锚定控件 427

15.9.2 停靠控件 429

15.10 本章小结 430

第16章 Grid、Tree和List控件 431

16.1 使用DataGrid控件 431

16.1.1 显示数据库数据 432

16.1.2 在数据网格中显示分级数据 435

16.1.3 高级数据网格 438

16.2 在TreeView控件中显示分级信息 440

16.2.1 设计TreeView控件 440

16.2.2 生成动态的TreeView控件 443

16.2.3 实现自定义的TreeView控件 447

16.3.1 实现ListView控件 450

16.3 使用ListView控件 450

16.3.2 注册表编辑器——TreeView与ListView的组合 456

16.4 本章小结 457

第17章 增强Windows窗体 458

17.1 添加工具栏 458

17.1.1 创建工具栏 459

17.1.2 修改工具栏的外观 460

17.1.3 定义工具栏按钮样式 464

17.2 使用剪贴板 466

17.2.1 复制到剪贴板 466

17.2.2 获取剪贴板中的数据 467

17.2.3 了解剪贴板格式 468

1 7.3.1 拖放基础 471

17.2.4 在剪贴板上用多种格式存储相同的数据 471

17.3 使用拖放 471

17.3.2 启用FileDrop 474

17.3.3 实现拖放源 475

17.4 本章小结 477

第Ⅳ部分 数据访问和XML 481

第18章 ADO.NET 481

18.1 ADO.NET的新特性 481

18.1.1 ADO.NET的断开连接模型 481

18.1.2 XML集成 482

18.1.3 ADO.NET数据集 482

18.1.4 .NET数据提供程序 482

18.2 创建和使用数据集 483

18.2.2 检测已更改的数据 484

18.2.3 接受更改 484

18.2.1 添加记录 484

18.2.4 绑定到数据组件 485

18.2.5 持续数据 485

18.3 建立到数据存储器的连接 486

18.3.1 创建Connection对象 486

18.3.2 连接到数据库 486

18.3.3 用.NET数据提供程序集中连接 487

18.3.4 启动事务 489

18.3.5 完成事务 489

18.3.6 关闭连接 490

18.4 执行命令 491

18.4.1 构建Command对象 491

18.4.4 关联到事务 492

18.4.3 关联到连接 492

18.4.2 提供命令文本 492

18.4.5 配置命令超时 493

18.4.6 指定命令类型 493

18.4.7 传递参数 493

18.4.8 执行命令 495

18.5 使用DataReader对象检索数据 497

18.6 使用DataAdapter对象填充数据集 498

18.6.1 构建DataAdapter对象 498

18.6.2 将命令与DataAdapter关联 498

18.6.3 填充数据集 499

18.6.4 更新数据 500

18.6.5 表映射 501

18.6.6 使用【数据适配器配置向导】 502

18.7 本章小结 505

第19章 XML 506

19.1 读写XML 507

19.1.1 使用XmlTextWriter创建XML 507

19.1.2 使用XmlTextReader读取XML 514

19.2 使用文档对象模型(DOM) 521

19.2.1 使用XML文档 522

19.2.2 使用DOM的示例应用程序 525

19.3 数据集与XML 529

19.3.1 将XML数据加入数据集 529

19.3.2 从数据集写入XML 533

19.4 使用Visual C#.NET编辑XML文件 533

19.4.1 创建和编辑XML原始数据 534

19.4.2 查看和编辑架构 534

19.5 本章小结 536

19.4.3 添加XML数据 536

第Ⅴ部分 ASP.NET和Web服务 539

第20章 Web窗体 539

20.1 使用ASP.NET的必备条件 540

20.2 ASP.NET的特性 540

20.2.1 逻辑和用户界面的分离 540

20.2.2 已编译的页面 540

20.2.3 支持多种语言 541

20.2.4 事件驱动模型 541

20.2.5 改善的对象模型 541

20.2.6 可伸缩性和性能 541

20.2.7 安全性 542

20.2.8 支持跟踪和调试 542

20.3 Web窗体简介 542

20.3.1 基于服务器的编程 543

20.3.3 继开的访问和页面重建 544

20.3.2 回传和往返 544

20.4 创建基本的Web窗体页面 545

20.4.1 创建项目 545

20.4.2 创建Calculatorl的Web窗体页面 547

20.4.3 添加控件 547

20.4.4 添加静态HTML文本 549

20.4.5 设计按钮控件 549

20.4.6 运行页面 550

20.4.7 检验Calculatorl的Web窗体页面 551

20.5 Web窗体控件 553

20.5.1 标准用户界面控件 554

20.5.2 显示数据的控件 555

20.5.3 验证控件 555

20.5.5 Web服务器控件的事件 556

20.5.4 专用控件 556

20.6 创建带有控件事件的Web窗体页面 557

20.6.1 创建配置Web窗体的页面 558

20.6.2 为ListBox控件创建列表项 559

20.6.3 创建事件处理程序 560

20.7 维持状态:保留往返传递之间的值 562

20.8 创建一个保留值的Web窗体页面 562

20.8.1 创建Calculator2的Web窗体页面 564

20.8.2 在Calculator2的Web窗体页面中添加代码 565

20.9 使用Web窗体中的数据 567

20.9.1 创建DataBinding_Simple Web窗体页面 568

20.9.2 绑定到ADO.NET数据集 569

20.9.3 直接作用于数据库 570

20.9.4 存储数据集 570

20.9.5 使用List Data控件 572

20.10 本章小结 578

21.1 了解SOAP 579

第21章 SOAP和Web服务 579

21.2 了解Web服务 580

21.2.1 WebService指令 580

21.2.2 派生于System.Web.Services.WebService类 580

21.2.3 使用WebService属性 581

21.2.4 使用WebMethod属性 582

21.3 创建Web服务 582

21.3.1 创建Web服务类 584

21.3.2 创建Web方法 584

21.4 使用发现查找Web服务 585

21.4.1 使用静态发现 586

21.4.2 使用动态发现 586

21.4.3 广告发现页面 586

21.5 浏览Web服务 587

21.4.4 了解WSDL 587

21.6 使用Web服务 589

21.6.1 使用HTTP GET协议 589

21.6.2 使用HTTP POST协议 590

21.6.3 使用SOAP协议 591

21.6.4 在Visual Studio.NET IDE中引用Web服务 592

21.6.5 生成Web服务代理 593

21.7 部署Web服务 594

21.8 设置Web服务的安全性 594

21.8.1 配置IIS身份验证 595

21.8.2 使用数字证书 596

21.8.3 设置Intemet协议安全 597

21.8.4 提供自定义的身份验证 597

21.9 本章小结 597