《C#和.NET 3.0第一步 适用Visual Studio 2005与Visual Studio 2008》PDF下载

  • 购买积分:23 如何计算积分?
  • 作  者:周礼著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2008
  • ISBN:7302171904
  • 页数:857 页
图书介绍:本书在讲解具体的知识点时均采用直观短小的实例进行讲述,对书中的难点和疑点均采用相关的生活案例或图形图像来描述,使读者更容易掌握其技术的本质。在讲透具体的技术点后,则会给出项目级的实例来展示这些技术在实际中的运用,使读者能够对相关的企业级开发做到融汇贯通。

第1章 进入Microsoft.NET世界 2

1.1 Microsoft.NET的理念 2

1.1.1 Visual Studio.NET的历史和延承 3

1.1.2初识.NET Framework 4

1.2 .NET Framework的架构 5

1.2.1什么是公共语言运行时(CLR) 5

1.2.2微软中间语言——MSIL 6

1.2.3.NET框架中的编程语言 7

1.2.4多语言支持和语言互操作的基础——CTS和CLS 7

1.2.5了解.NET类库 8

1.3开发环境的安装 9

1.3.1 Visual Studio的安装 10

1.3.2安装.NET Framework 3.0环境 11

1.3.3关于Visual Studio 2007及Visual Studio 2008 14

1.4开始我们的应用程序 15

1.4.1你的第一个C#程序 15

1.4.2 Visual Studio 2005介绍 17

1.4.3帮助文档的使用 23

1.5小结 25

第2章C#语言基础 26

2.1学习数据类型 26

2.1.1变量的概念 26

2.1.2值类型 28

2.1.3引用类型 32

2.2运算符和表达式 33

2.2.1算术运算符 33

2.2.2关系运算符 35

2.2.3逻辑运算符 36

2.2.4赋值运算符 38

2.2.5移位运算符 39

2.26运算符的优先级 40

2.3掌握语句 42

2.3.1分支结构语句 43

2.3.2循环语句 48

2.3.3跳转语句 55

2.4你必须了解的细节 58

2.4.1数组 58

2.42变量的作用域 61

2.4.3类型转换 63

2.4.4代码注释和#region指令 65

2.5小结 66

第3章C#中的面向对象 67

3.1类的定义 68

3.1.1什么叫字段 70

3.1.2方法又是什么 71

3.2类的使用——以鸭子为例 74

3.2.1类成员的访问 76

3.2.2类和对象的关系 77

3.3类的数据成员的存放问题 78

3.3.1类成员的存放 78

3.3.2有点特别的静态数据成员 79

3.4关于方法成员的更多研究 80

3.4.1静态方法 80

3.4.2方法重载及其意义所在 81

3.4.3构造方法——初始化类中的数据成员 83

3.4.4析构方法——销毁对象回收资源 84

3.5属性和索引器的作用 86

3.5.1属性 86

3.5.2索引器 90

3.6小结 94

第4章 面向对象的高级概念 95

4.1继承 95

4.1.1创建和使用继承 96

4.1.2基对象引用子类实例——父母可以代表孩子做很多事情 100

4.1.3 base关键字 102

4.1.4 this关键字——用来调用本类成员 105

4.2抽象类 106

4.2.1何谓抽象和抽象类 107

4.2.2实现抽象类 108

4.3接口——多继承的换代产品 112

4.3.1接口的定义和实现 112

4.3.2显式接口实现——解决接口继承时的同名方法冲突 117

4.3.3接口的使用 119

4.4会飞的鸭子 120

4.4.1定义鸭子类 120

4.4.2使用继承 121

4.4.3抽象类的作用 122

4.4.4接口的好处 124

4.5小结 126

第5章 高级类型 127

5.1委托 127

5.1.1委托的概念 127

5.1.2委托的秘密 130

5.1.3多播委托——引发连锁反应 130

5.2事件 133

5.2.1事件机制的原理 133

5.2.2警察抓小偷 135

5.3其他类型 137

5.3.1枚举 137

5.3.2结构——C语言的遗产 140

5.3.3密封类——不能被继承的类 141

5.3.4分部类——解决超长类代码的存放 142

5.3.5匿名方法 143

5.3.6可空类型 144

5.3.7命名空间——区别同名类 145

5.3.8数学类 146

5.3.9日期类型 147

5.3.10随机数类 148

5.3.11字符串类 150

5.4类型运算 155

5.4.1类型转换 155

5.4.2 is运算符——检查某个对象是否与给定类型兼容 159

5.4.3 as运算符 160

5.4.4溢出检查的启用和取消——checked和unchecked 160

5.4.5 out和ref 161

5.4.6 typeof运算符 161

5.5小结 162

第6章Windows窗体编程 163

6.1第一个窗体程序 163

6.1.1建立第一个窗体程序 164

6.1.2窗体代码分析 166

6.1.3窗体事件机制 168

6.2基本窗体控件 169

6.2.1按钮(Button)控件 170

6.2.2多选框(CheckBox)控件 170

6.2.3单选按钮(RadioButton)控件 171

6.2.4标签(Label)控件 171

6.2.5文本框(TextBox)控件 172

6.2.6组合框(ComboBox)控件 174

6.2.7一个小例子——IT技术调查 175

6.3其他常用控件 176

6.3.1滚动条(ScrollBar)和进度条(ProgressBar) 176

6.3.2列表框(ListBox)控件 177

6.3.3工具栏(ToolStrip)控件 178

6.3.4状态栏(StatusStrip)控件 179

6.3.5列表视图(ListView)控件 180

6.3.6树视图(TreeView)控件 182

6.4小结 185

第7章 窗体控件编程 186

7.1高级控件 186

7.1.1创建菜单 186

7.1.2多文档应用程序 189

7.1.3容器控件 191

7.1.4对话框控件 192

7.2 GDI+的原理 193

7.2.1画直线和曲线 195

7.2.2绘制填充区域——使用刷子类 197

7.2.3绘制图像——使用Image类 199

7.2.4绘制文字——小例子:枚举系统支持的所有字体 200

7.3窗体事件处理模型的基础——消息机制 202

7.3.1 Windows消息机制 203

7.3.2重要的Control类 206

7.4小结 209

第8章 处理异常 210

8.1异常的产生——Bad Smell导致的问题 210

8.1.1代码的错误有哪些 211

8.1.2如何发现错误 213

8.2使用调试器 214

8.2.1断点管理窗口 215

8.2.2自动窗口 216

8.2.3监视窗口 217

8.2.4即时窗口 217

8.2.5使用调试器——一次程序调试实战 218

8.3为程序买份保险 220

8.3.1结构化异常处理 222

8.3.2异常类和异常家族 223

8.3.3多重catch语句 224

8.3.4嵌套异常结构 226

8.4自定义异常 228

8.4.1使用自定义异常 228

8.4.2如何正确使用异常 229

8.5小结 230

第9章 操作文件和注册表 231

9.1了解和操作注册表 231

9.1.1了解注册表 232

9.1.2操作注册表并编写一个简单的注册表编辑器 233

9.2文件和文件夹操作 237

9.2.1文件操作类及其使用 238

9.2.2文件夹操作类及其使用 241

9.3读写文件 243

9.3.1流的概念——流就是“牛 243

9.3.2文件读写的方法 245

9.3.3编码方式 245

9.3.4文件流操作 247

9.3.4.1一个Hello World级的文件流操作例子 249

9.3.4.2创建一个简单的Windows记事本 250

9.3.5读写文本数据及用流读写器重写文件流读写文件的例子 251

9.4小结 254

第10章 案例——书籍收藏系统 255

10.1项目背景 255

10.1.1项目描述 255

10.1.2软件的生命周期 255

10.1.2.1了解软件生命周期的五个阶段 256

10.1.2.2关于软件质量的几点做法 257

10.1.3功能的组成 258

10.2功能的实现 259

10.2.1界面设计 259

10.2.2代码实现 263

10.3小结 271

第11章 集合对象 273

11.1数组 273

11.11认识Array类 273

11.1.2使用Array类 274

11.2动态数组 276

11.2.1认识ArrayList类 277

11.2.2操作ArrayList 278

11.2.3使用ArrayList缓存数据——一个简单的学员管理系统 280

11.3哈希表 283

11.3.1认识Hashtable类 284

11.3.2 Hashtable的操作 284

11.3.3使用嵌套Hashtable——创建一个电话本系统 287

11.4集合空间的接口 290

11.4.1Icollection接口 291

11.4.2Ienumerable接口及其使用 291

11.4.3Ilist接口 293

11.4.4自定义集合类 294

11.5专用集合类 297

11.5.1栈Stack 298

11.5.2队列Queue 299

11.5.3 SortedList集合 300

11.5.4更方便的操作字符串集合——StringCollection和StringDictionary集合 302

11.6小结 303

第12章 泛型 304

12.1为什么使用泛型 304

12.1.1泛型思想的引出 304

12.1.2 C#泛型简介 306

12.2泛型定义及其应用 307

12.2.1泛型结构体 308

12.2.2泛型类 309

12.2.3泛型接口 311

12.2.4泛型委托 312

12.2.5泛型约束 314

12.3泛型集合 315

12.3.1泛型List集合 316

12.3.2泛型哈希表——Dictionary 317

12.33泛型队列 319

12.3.4泛型栈 320

12.4泛型的应用 321

12.4.1使用泛型要注意的问题 321

12.4.2一个泛型使用的示例 323

12.5小结 326

第13章多线程 327

13.1进程与线程的概念 327

13.2使用线程 329

13.2.1认识Thread类并创建你的第一个带线程的程序 329

13.2.2线程的方法和状态 332

13.2.3线程的优先级及实用实例 334

13.3线程的同步 336

13.3.1锁定机制——使用Lock关键字 338

13.3.2最常用的同步基元——监视器 340

13.3.3事件 343

13.3.3.1一个体现通知机制的例子 343

13.3.3.2用三条线程去分别得到房子、车子和妻子 345

13.3.4理解线程池——外加一个Word模拟程序 346

13.4多线程应用 348

13.4.1何时使用线程 349

13.4.2集合中的线程安全 349

13.4.3使用线程操作Windows窗体 352

13.4.3.1采用计时器来设计一个闹钟程序 352

13.4.3.2使用线程来实现闹钟功能 353

13.4.4一个线程的例子——福利彩票双色球 356

13.5小结 359

第14章ADO.NET编程 361

14.1数据库基础 361

14.1.1 SQL Server 2005的安装与使用 361

14.1.2 SQL简介 364

14.1.3创建数据库 366

14.1.4创建表 368

14.1.5如何对数据进行增、删、改 370

14.1.6如何查询数据 371

14.1.7更快的执行速度——存储过程 374

14.1.8数据库管理的基本操作 375

14.2 ADO.NET简介 376

14.2.1 ADO.NET的组成部件 377

14.2.2 ADO.NET的新特性 378

14.3连接式访问数据库 379

14.3.1如何连接数据库 380

14.3.2如何操作数据库增、删、改、查 382

14.3.3读取数据库结果集 386

14.3.4事务操作的原理及其使用 387

14.4调用存储过程 389

14.41参数对象 390

14.4.2调用无返回值的存储过程 392

14.4.3调用带返回值的存储过程 394

14.5数据集 396

14.5.1认识数据集 397

14.5.2建立数据表 397

14.5.3数据集综合操作 401

14.6断开式操作数据库 404

14.6.1认识数据适配器 405

14.6.2填充数据集 406

14.6.3把数据集中的数据同步到数据库 408

14.7小结 415

第15章 数据绑定 416

15.1更强大的数据呈现——使用DataGridView控件 416

15.1.1 DataGridView的属性和方法 417

15.1.2将DataGridView绑定到数据集 417

15.1.3将DataGridView绑定到数据视图 420

15.1.4将DataGridView绑定到数组 422

15.1.5将DataGridView绑定到集合 423

15.1.6定制DataGridView控件 423

15.2数据集与数据绑定 427

15.2.1提高代码的可读性——类型化数据集 427

15.2.2 BindingSource组件的优势 430

15.2.3绑定DataGridView控件 431

15.3绑定的应用 435

15.3.1绑定到文本框 435

15.3.2绑定到组合框 437

15.3.3示例——一个简单的人事管理系统 438

15.4小结 443

第16章 打印和报表 444

16.1为你的程序添加打印功能 444

16.1.1打印的原理与实现 444

16.1.2认识打印控件——创建一个带打印功能的程序 447

16.1.3打印DataGridView数据 449

16.2水晶报表 450

16.2.1快速建立水晶报表——创建一个家庭财务开支系统 451

16.2.2报表查看器控件 457

16.2.3报表文档 458

16.2.4专业的报表设计器——水晶报表专家 460

16.2.5加载和使用水晶报表 461

16.2.6筛选报表数据 463

16.3小结 465

第17章 组件技术 466

17.1搭积木游戏 466

17.1.1应用程序交互的发展史 466

17.1.2组件的概念 468

17.2认识程序集 468

17.2.1弱名称和强名称程序集的区别 469

17.2.2如何建立和使用程序集 470

17.3反射技术 476

17.31反射的概念 476

17.3.2使用反射访问程序集 476

17.4天下皆积木——平台调用 480

17.4.1特性的概念 480

17.4.2如何调用Windows API 481

17.4.3如何调用COM组件 482

17.5小结 485

第18章 软件开发方式 486

18.1面向对象的分析与设计 486

18.1.1 OOAD的必要性 487

18.1.2软件的组成“材料 487

18.1.3面向对象分析 489

18.1.4面向对象设计 490

18.1.5掌握VS.NET的类图设计器的使用 491

18.2软件的体系结构 495

18.2.1软件体系中的内容 495

18.2.2组件 496

18.2.3模式 496

18.2.3.1设计模式——一个应用单例模式的例子 497

18.2.3.2一个工厂模式的例子 498

18.2.4软件的设计原则 500

18.3.NET的三层架构 500

18.3.1三层架构的构成 501

18.3.2为什么要使用三层架构 503

18.3.3一个应用三层架构的示例——家庭理财系统 503

18.3.3.1建立数据库 503

18.3.3.2小试三层架构 505

18.3.3.3实现界面层 512

18.3.3.4实现业务层 514

18.3.3.5实现数据层 515

18.3.3.6完成项目 518

18.4小结 519

第19章Windows工作流基础(WWF) 520

19.1工作流的基础 520

19.1.1你的第一个工作流程序 520

19.1.2理解宿主的概念 525

19.1.3理解活动(Activity)的概念 525

19.2顺序工作流 527

192.1顺序工作流控件 527

19.2.2建立顺序工作流 529

19.3状态工作流 532

19.3.1状态工作流控件 532

19.3.2建立状态机工作流——实现一个红绿灯系统 534

19.4工作流的应用 538

19.4.1向工作流传入数据 538

19.4.2让工作流调用外部方法 540

19.4.3使用事件控制工作流 543

19.5实现更现实的工作流——订单处理流程 547

19.5.1订单处理业务 547

19.5.2建立订单状态工作流 548

19.5.3应用工作流组件 552

19.5.4工作流应用领域 558

19.6小结 558

第20章 案例——黑木崖家庭财务系统 559

20.1需求分析 559

20.1.1项目名称及背景 559

20.1.2需求规定 559

20.1.3运行环境规定 561

20.2系统设计 561

20.2.1应用三层架构 561

20.2.2数据库设计 562

20.2.3界面设计 567

20.3功能实现 569

20.3.1账户管理模块 570

20.3.2账薄管理模块 577

20.3.3财务中心模块 588

20.3.4系统中心模块 590

20.4小结 592

第21章 网络编程 594

21.1网络编程基础 594

21.1.1网络通信基础 594

21.1.2 System*Net命名空间概述 596

21.2网络通讯编程 596

21.2.1 TCPClient和TCPListener类的使用——编写一个点对点聊天工具 597

21.2.2使用UDPClienteseses无连接的发送数据方式 599

21.2.3实现一个P2P聊天室 601

21.3访问Internet 609

21.3.1用WebClient访问Internet-———实现下载和上传文件的例子 609

21.3.2 WebRequest类和WebResponse类及其使用 611

21.3.3使用浏览器控件——制作一个简单的浏览器 612

21.4小结 615

第22章.XML 616

22.1XML简介 616

22.1.1 XML的由来 616

22.1.2 XML的组成 617

22.1.3什么时候使用XML 618

22.2XML的语法 619

22.2.1构成元素——剖析一个基本的XML文档 619

22.22 XML语法要点 620

22.2.3 CDATA语法 621

22.2.4命名空间 622

22.2.5什么是实体 624

22.2.6架构(Schamer)——XML文档的验证 625

22.2.7 Schema语法 628

22.3 XML的读写操作 630

22.3.1 XML的流式读写——一个流式读写XML的例子 630

22.3.2 XML的随机读写——几个随机读写XML的例子 635

22.3.3编程验证XML文档的有效性 641

22.3.4数据集与XML 642

22.4小结 644

第23章ASP.NET基础 645

23.1 HTML简介 645

23.1.1标签 646

23.1.2表单 652

23.1.3脚本 655

23.2进入ASP.NET的世界 657

23.2.1 ASP.NET概述 657

23.2.2配置ASP.NET的运行环境 658

23.2.3你的第一个ASP.NET程序 659

23.3简单控件 663

23.3.1 Label控件 664

23.3.2 TextBox控件 664

23.3.3 CheckBox控件 664

23.3.4 RadioButton控件 664

23.3.5 Button 665

23.3.6 Image控件 665

23.3.7 DropDownList控件 667

23.3.8 Calendar控件 669

23.3.9 AdRotator控件 669

23.4小结 670

第24章ASP.NET进阶 671

24.1 Web对象模型 671

24.1.1 Page对象及其使用 671

24.1.2 HttpResponse、 Cookie、 HttpRequest对象及其使用 674

24.1.3 Application、 Session对象及其使用 678

24.1.4 Server对象和PostBackUrl属性及其使用 680

24.2数据绑定 684

24.2.1绑定控件属性 684

24.2.2 GridView控件及其使用 685

24.2.3 DataList控件及其使用 686

24.2.4 FormView控件及其使用 688

24.3高级Web控件 690

24.31登录控件 690

24.3.2验证控件 691

24.3.3导航控件 692

24.3.4 WebParts控件——创建一个简单的Web部件应用 693

24.3.5 Master Pages模板页 696

24.4小结 699

第25章WeB服务 700

25.1大道的到来——Web服务 700

25.1.1创建你的第一个Web服务——一个简单的令人吃惊的计算服务 701

25.1.2相关术语 704

25.2创建Web服务 706

25.2.1创建Web服务 706

25.2.2发布Web服务 708

25.3使用Web服务 712

25.3.1在Windows项目中使用Web服务 713

25.3.2在Web应用中使用Web服务 716

25.3.3 Web服务示例——创建一个股票查询系统 716

25.4小结 721

第26章Windows描述基础(WPF) 722

26.1新时代的开发框架WPF 722

26.1.1 WPF简介 722

26.1.2你的第一个WPF程序 723

26.1.3 XAML概述及剖析 726

26.2WPF基本控件 728

26.2.1按钮控件 729

26.2.2文本及图片控件 731

26.2.3视图控件 732

26.2.4容器控件 736

26.2.5数据绑定控件 739

26.2.5.1绑定控件属性 739

26.2.5.2绑定XML数据源 739

26.2.5.3绑定对象 740

26.2.5.4绑定数据集 742

26.3图像与多媒体 745

26.3.1创建2D图形 745

26.3.2创建一个简单的3D图形 747

26.3.3创建动画——一个渐变的长方形 748

26.3.4音视频播放——创建一个媒体播放器 749

26.4小结 751

第27章WCF和AJAX 752

27.1什么是WCF 752

27.1.1 WCF技术基础 752

27.1.2创建一个简单的WCF服务 754

27.1.3承载和使用WCF服务 757

27.2 AJAX技术 761

27.2.1 AJAX简介 761

27.2.2 JavaScript的语法 762

27.2.3创建并解析一个AJAX应用 767

27.2.4使用ASP.NET AJAX组件创建AJAX应用 768

27.3小结 772

第28章 项目的安装与部署 773

28.1项目部署 773

28.1.1安装部署的类型 773

28.1.2部署桌面应用程序——创建一个桌面程序安装包 774

28.1.3部署Web应用程序 779

28.2保护你的知识产权——给你的程序加密 780

28.2.1混淆器简介 781

28.2.2使用混淆器来加密程序 783

28.3 Windows服务 787

28.3.1创建一个Windows服务 788

28.3.2使用应用程序配置文件 791

28.3.3使用Windows服务来部署程序 793

28.4小结 794

第29章 单元测试和重构 795

29.1单元测试 795

29.1.1单元测试的概念 795

29.1.2使用NUnit进行单元测试 796

29.2重构(Refactoring) 801

29.2.1为什么要重构 802

29.2.2何时进行重构 803

29.2.3重构的方法 803

29.3使用VisualC#重构菜单 808

29.3.1提取方法 809

29.3.2重命名 810

29.3.3封装字段 811

29.3.4提取接口 812

29.3.5将局部变量提升为参数 813

29.3.6移出参数 814

29.3.7重新排列参数 815

29.4小结 816

第30章 案例——天天购物商城 817

30.1需求分析 817

30.1.1项目名称及背景 817

30.1.2需求规定 817

30.1.3运行环境规定 818

30.2系统分析 818

30.2.1应用三层架构 819

30.2.2数据库设计 820

30.2.3界面设计 823

30.3功能实现 824

30.3.1主页面实现 825

30.3.2购物车实现 829

30.3.3详细信息页面 830

30.3.4结算中心模块 834

30.4小结 837

附录A C#语言规范 838

命名规范 839

注释规范 844

行文规范 845

附表 851

附录B快捷键参考 854