《C#开发宝典》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:匡松,张淮鑫主编
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2010
  • ISBN:9787113115951
  • 页数:656 页
图书介绍:本书内容丰富、通俗易懂、图文并茂,理论结合实、对C#编程的所有知识进行了全面的介绍。全书共分6篇。主要内容包括C#语言简介与开发环境、C#语法、Windows编程、Web编程和项目案例等,适合广大读者学习使用。

第1篇C#语言简介与开发环境 2

第1章c#简介 2

1.1发展历程 2

1.1.1起源 2

1.1.2 C# 2.0 2

1.1.3 C# 3.0 4

1.1.4 C# 3.5 4

1.1.5未来展望 5

1.2与其他语言的对比 6

1.2.1 C#与Java的对比 6

1.2.2 C#与C++++的对比 7

1.3技术优势 8

1.3.1 C#的主要功能 8

1.3.2 C#的主要特点 9

1.4 C#语言和.NET Framework的关系 10

1.5本章小结 11

第2章Visual Studio 2008 IDE简介 14

2.1安装Visual Studio 2008 14

2.2 Visual Studio 2008概览 18

2.2.1 Visual Studio 2008常用功能窗口介绍 18

2.2.2配置设置 23

2.2.3类设计器 26

2.2.4帮助系统 27

2.3用Visual Studio 2008 IDE开发应用程序 30

2.3.1控制台应用程序 30

2.3.2 Windows窗体应用程序 31

2.4调试应用程序 33

2.4.1程序错误类型 33

2.4.2调试程序 34

2.5本章小结 35

第2篇C#语言程序设计基础 38

第3章C#基础元素 38

3.1基础语法 38

3.1.1 C#程序结构 38

3.1.2 C#程序入口 40

3.1.3程序区块 41

3.1.4 C#程序的注释方法 41

3.1.5命名空间 42

3.2标识符 45

3.3关键字 46

3.4变量 46

3.4.1变量的命名 47

3.4.2数据类型 47

3.4.3变量的声明 50

3.5常量 51

3.6操作符与表达式 53

3.6.1操作符 53

3.6.2算术表达式 54

3.6.3赋值表达式 56

3.7类型转换 57

3.8本章小结 60

第4章 类与对象 61

4.1面向对象编程技术 61

4.1.1面向对象编程基础 61

4.1.2类与对象的关系及特点 62

4.1.3类与对象的形式 63

4.2 C#中类的定义和使用 63

4.3类成员 65

4.4构造函数和析构函数 69

4.4.1构造函数 69

4.4.2析构函数 71

4.4.3 this访问 72

4.5引用类型和值类型 73

4.6 System.Object 76

4.6.1装箱 76

4.6.2拆箱 77

4.7 Visual Studio 2008中的00P工具 77

4.7.1添加类 77

4.7.2类视图 78

4.7.3对象浏览器 79

4.8类库 79

4.9本章小结 80

第5章 方法 82

5.1方法的定义与调用 82

5.1.1方法的定义 82

5.1.2方法的调用 84

5.1.3方法的返回类型 86

5.2虚拟方法 87

5.3参数 88

5.4方法重载 92

5.5 Lambda表达式 94

5.5.1 Lambda表达式的定义 94

5.5.2 Lambda语句 95

5.5.3 Lambda表达式中的变量范围 95

5.6扩展方法 96

5.7本章小结 98

第6章 异常处理 100

6.1异常简介 100

6.2异常助手 101

6.3 Exception类 103

6.4异常处理方法 105

6.4.1引发异常 105

6.4.2捕捉异常 108

6.5本章小结 111

第7章 枚举与结构 113

7.1枚举 113

7.1.1什么是枚举 113

7.1.2枚举的定义 113

7.1.3枚举的使用 116

7.2结构 118

7.2.1结构的声明 119

7.2.2在结构中定义方法 120

7.2.3结构的使用 123

7.2.4类与结构的区别 124

7.3本章小结 125

第3篇C#语言关键技术 130

第8章 面向对象进阶 130

8.1静态成员和实例成员 130

8.2常数和字段 131

8.3类继承 133

8.4抽象类和密封类 138

8.5接口 140

8.5.1接口和类的区别 141

8.5.2接口和类的选择使用 141

8.5.3定义接口 142

8.5.4接口成员 145

8.5.5接口成员的全权名 148

8.6接口的实现 148

8.6.1接口实现举例 150

8.6.2显式接口成员实现 156

8.6.3接口映射 160

8.6.4接口的重实现 165

8.6.5接口实现的继承机制 168

8.7接口的组合 170

8.8接口的查询 171

8.8.1使用is运算符实现查询 171

8.8.2使用as运算符实现查询 172

8.9本章小结 174

第9章 属性 176

9.1属性的定义 176

9.2属性的使用 177

9.3静态属性和实例属性 184

9.4 Attribute类 186

9.4.1 Attribute类的定义 187

9.4.2 Attribute类的使用 188

9.4.3 Attribute类的查询 193

9.5索引器 198

9.6本章小结 202

第10章 迭代器与分部类 204

10.1迭代器 204

10.2分部类 207

10.3本章小结 210

第11章 泛型 212

11.1泛型简介 212

11.1.1泛型问题简述 212

11.1.2泛型概述 215

11.1.3泛型的优点 219

11.1.4泛型实例:让程序说多种语言 221

11.2泛型的使用 222

11.2.1泛型的限制 222

11.2.2泛型接口 227

11.2.3泛型方法 232

11.2.4泛型方法重载 235

11.2.5泛型类的继承 237

11.3 .NET中泛型的应用 238

11.3.1 .NET典型泛型类:List〈T〉 239

11.3.2泛型结构 242

11.4本章小结 244

第12章 委托 246

12.1 C#中的委托 246

12.2委托与接口 247

12.3委托示例 248

12.3.1委托声明 248

12.3.2委托实例化 250

12.3.3委托调用 253

12.4多路委托 253

12.4.1怎样组合多路广播委托 254

12.4.2多路广播委托示例 254

12.5本章小结 256

第13章 事件 258

13.1事件简介 258

13.1.1什么是事件 258

13.1.2事件的特点 259

13.1.3事件处理程序的一般步骤 259

13.1.4如何声明事件 260

13.1.5如何引发事件 260

13.1.6如何订阅事件 261

13.1.7是否所有委托都可以应用到事件中 262

13.1.8发布符合.NET Framework准则的事件 262

13.2事件示例 263

13.2.1简单事件声明示例 263

13.2.2事件封装示例 264

13.3 GUI事件 266

13.3.1事件机制剖析之鼠标单击事件 266

13.3.2事件机制剖析之KeyPress事件 269

13.3.3常用事件之鼠标按下、释放和拖动事件 270

13.3.4常用事件之键盘按下和释放事件 272

13.3.5常用事件之焦点事件 273

13.4本章小结 274

第4篇Windows窗体程序设计 278

第14章Windows窗体应用程序 278

14.1控件 278

14.1.1控件的通用属性 278

14.1.2窗体 279

14.1.3控件的创建 283

14.1.4控件的事件 284

14.2 Button控件 284

14.3 Label和LinkLabel控件 286

14.4 TextBox控件 288

14.5 RichTextBox控件 290

14.6 RadioButton和CheckBox控件 292

14.7 ListBox和ComboBox控件 295

14.8 ListView控件 299

14.9 TreeView控件 304

14.10自定义控件 310

14.10.1自定义控件概述 310

14.10.2创建用户控件 311

14.11本章小结 314

第15章 菜单与工具栏设计 316

15.1菜单栏 316

15.1.1菜单控件的使用 317

15.1.2右键菜单 318

15.1.3弹出菜单的创建 318

15.2工具栏的创建 320

15.3状态栏控件的使用 321

15.4常用控件 322

15.4.1滚动条控件 322

15.4.2滚动条控件的使用 322

15.4.3进程条控件 323

15.4.4进程条控件的使用 324

15.4.5跟踪条控件 325

15.4.6跟踪条控件的使用 325

15.4.7计时器控件 326

15.4.8模拟跑表计时器 326

15.5本章小结 327

第16章Windows窗体程序进阶 329

16.1 SDI和MDI应用程序 329

16.1.1基于对话框的应用程序 329

16.1.2 SDI应用程序 329

16.1.3 MDI应用程序 331

16.2使用对话框 335

16.2.1打开文件对话框OpenFileDialog 335

16.2.2保存文件对话框SaveFileDialog 337

16.2.3打印对话框 338

16.2.4字体设置对话框FontDialog 339

16.2.5颜色设置对话框ColorDialog 339

16.2.6对话框的模式 340

16.2.7自定义对话框 341

16.3 GDI+简介 344

16.3.1 GDI+概述 344

16.3.2 Graphics类 345

16.3.3画笔Pen类 346

16.3.4字体Font类 347

16.3.5位图Bitmap类 348

16.3.6实例扩展 348

16.4高级控件 349

16.4.1 MonthCalendar控件 349

16.4.2 DateTimePicker控件 349

16.4.3 TreeView控件 349

16.4.4 TabControl控件 351

16.5 Windows媒体播放器 353

16.5.1 Windows Media Player 353

16.5.2为程序添加媒体播放功能 354

16.6本章小结 355

第17章 文件操作 357

17.1 System.10命名空间 357

17.2 Stream类 359

17.3 File和FileInfo类 360

17.4 StreamReader和StreamWriter类 363

17.5 BinaryReader和BinaryWriter类 367

17.6 Directory和DirectoryInfo类 372

17.7 Path类 376

17.8异步文件操作 378

17.9本章小结 383

第18章 数据访问技术 384

18.1数据库基本知识 384

18.2 SQL简介 384

18.3 ADO.NET 385

18.3.1 ADO.NET简介 385

18.3.2类介绍 385

18.3.3 ADO.NET中的XML 387

18.3.4 ADO.NET中的SQL 395

18.3.5 DataReader类简介 403

18.3.6 DataSet类简介 405

18.4 ADO.NET与各种数据库的连接 407

18.4.1 Access 407

18.4.2 SQL Server 409

18.4.3 MySQL 410

18.4.4 Oracle 412

18.4.5其他数据库 414

18.5本章小结 415

第19章Windows窗体应用程序与数据库应用 416

19.1窗体控件的数据绑定 416

19.1.1定义数据源 417

19.1.2使用DataSet 419

19.1.3添加数据绑定控件 423

19.1.4绑定数据 425

19.2应用程序实例 427

19.3本章小结 431

第20章LINQ集成查询详解 433

20.1 LINQ实现字符串查询 433

20.1.1用LINQ查询字符串中的数字 435

20.1.2用LINQ统计单词出现的次数 437

20.2 LINQ访问ArrayList数组 440

20.2.1使用LINQ访问简单字符串ArrayList数组 441

20.2.2使用LINQ访问对象ArrayList数组 442

20.3 LINQ访问文件目录 443

20.4 LINQ to XML详解 447

20.4.1什么是LINQ to XML 447

20.4.2使用LINQ to XML创建XML树 450

20.4.3使用LINQ to XML加载XML文件 453

20.4.4用XmlReader创建树 454

20.4.5检测不正确的XML文档 457

20.5 LINQ to SQL详解 458

20.5.1什么是LINQ to SQL 458

20.5.2使用LINQ to SQL连接数据库 459

20.5.3使用LINQ to SQL直接执行SQL命令 466

20.6本章小结 468

第5篇Web开发 472

第21章Web应用 472

21.1 HTML简介 472

21.1.1 HTML的由来 472

21.1.2页面介绍 474

21.1.3格式设置 475

21.1.4文本标记 477

21.1.5多媒体 478

21.1.6表格 480

21.1.7链接 482

21.1.8框架 482

21.1.9表单 485

21.2 ASP.NET简介 488

21.2.1静态页面与动态页面 488

21.2.2其他动态页面技术 488

21.3第一个ASP.NET程序 488

21.4常用控件介绍 489

21.4.1 Label控件 490

21.4.2 TextBox控件 491

21.4.3 Button控件 491

21.4.4 DropDownList控件 492

21.4.5 ListBox控件 494

21.4.6 CheckBox控件和CheckBoxList控件 494

21.4.7 RadioButton控件和RadioButtonList控件 496

21.4.8 Image控件 497

21.4.9 Table控件 497

21.4.10 Calendar控件 498

21.5 ASP.NET服务端支持(IIS) 499

21.6本章小结 500

第22章 数据检验 501

22.1检验简介 501

22.1.1什么是检验 501

22.1.2客户端检验和服务端检验 502

22.2验证控件 502

22.2.1必须字段验证 503

22.2.2比较验证 507

22.2.3范围验证 512

22.2.4正则表达式验证 517

22.2.5自定义验证 521

22.2.6验证总结 526

22.3本章小结 529

第6篇 项目实战 532

第23章 俄罗斯方块网络对战 532

23.1游戏简介 532

23.1.1游戏规则简介 532

23.1.2名词术语 532

23.2单元格的设计与实现 533

23.2.1设计BrickUnit类 533

23.2.2测试BrickUnit类 534

23.3方块的设计与实现 535

23.3.1方块和单元格坐标 535

23.3.2设计Brick类 536

23.3.3改变Brick类样式 538

23.3.4方块的旋转 538

23.3.5测试Brick类 539

23.4游戏地图的设计 539

23.4.1与游戏地图相关的类 539

23.4.2游戏地图相关类的功能分析 540

23.4.3单元格集合 540

23.5游戏画面绘制 544

23.5.1双缓冲技术 544

23.5.2绘图操作 546

23.5.3局部刷新 549

23.5.4地图与方块的界面显示 549

23.6游戏地图的实现 550

23.6.1游戏地图框架 550

23.6.2判断满行和消除行 552

23.6.3粘贴活动方块 554

23.6.4移动和旋转方块 554

23.6.5落下活动方块 557

23.7游戏面板 557

23.7.1界面设计 557

23.7.2 FormPlay类的字段和属性 559

23.7.3游戏速度计算 559

23.7.4添加音效 559

23.7.5游戏设置窗体 561

23.7.6测试游戏面板 564

23.8本章小结 564

第24章 一个简单的浏览器 565

24.1实例功能介绍 565

24.2编程思想 567

24.3关键技术 568

24.3.1 HTTP 569

24.3.2 HTTP通信举例 569

24.3.3浏览器与HTTP 571

24.4浏览器程序实现步骤 571

24.4.1建立程序框架 571

24.4.2建立程序界面 575

24.4.3实现浏览器功能 580

24.5浏览器扩展功能的实现 586

24.5.1默认搜索选择 586

24.5.2记录和删除用户浏览的网站地址 587

24.5.3皮肤选择 589

24.6本章小结 589

第25章 网络监控软件 590

25.1编程思路 590

25.2关键技术 592

25.2.1套接字Socket 592

25.2.2事件与委托 593

25.3实现步骤 595

25.3.1建立程序框架 595

25.3.2 IP头格式定义 597

25.3.3 PacketArrivedEventArgs事件参数类和委托 598

25.3.4 SniffSocketException异常类的实现 600

25.3.5 SniffSocket类构造函数 600

25.3.6创建和绑定连接 600

25.3.7接收和处理IP包 601

25.3.8 MainForm主界面 604

25.3.9主窗体载入过程 605

25.3.10数据包中消息显示的实现 606

25.3.11主窗体sniff功能的实现 607

25.3.12独立的程序入口类 608

25.4本章小结 608

第26章 远程分布式数据库查询系统 609

26.1实例介绍 609

26.2编程思路 610

26.3关键技术 611

26.3.1分布式数据库技术 611

26.3.2使用ADO.NET访问数据库 612

26.4远程分布式数据库查询程序实现步骤 614

26.4.1建立数据库服务对象(DbServer)的DLL工程 614

26.4.2创建数据库和系统表 615

26.4.3 DbServer类的初始化过程 615

26.4.4 DbServer的查询方法 616

26.4.5根据DataSet创建临时表 618

26.4.6远程创建临时表 619

26.4.7合并数据表 620

26.4.8建立客户端程序框架 621

26.4.9建立客户端程序界面 622

26.4.10实现查询功能 623

26.4.11系统程序代码清单 625

26.5本章小结 626

第27章ASP.NET学生信息管理系统 627

27.1需求分析 627

27.1.1数据实体上下文 627

27.1.2权限分析 628

27.2界面设计 629

27.2.1登录页面设计 629

27.2.2学生管理界面 629

27.2.3专业及班级管理界面 630

27.2.4系统管理及字典管理界面 631

27.3主页面及控件实现 631

27.3.1主页面 631

27.3.2菜单控件 632

27.4学生管理实现 633

27.4.1学籍变动及奖惩 633

27.4.2新增学生 636

27.4.3管理学生信息 637

27.4.4查看学生信息 642

27.4.5更新学生信息 643

27.5组织管理实现 644

27.5.1学院管理 644

27.5.2专业管理 646

27.5.3班级管理 647

27.6系统管理实现 650

27.6.1用户登录 650

27.6.2用户更新 653

27.6.3用户管理 653

27.7字典管理实现 653

27.7.1学籍变动类型管理 654

27.7.2奖惩类型管理 654

27.8本章小结 655

附录A顺序、分支和循环结构(光盘中) 656

A.1顺序结构 656

A.2布尔逻辑 658

A.2.1位运算符 658

A.2.2关系运算 660

A.2.3逻辑表达式 661

A.3分支结构 662

A.3.1 if语句 662

A.3.2三元运算符 668

A.3.3 switch语句 669

A.3.4 break语句 672

A.3.5 default语句 673

A.4 goto语句 676

A.5 while循环 678

A.5.1 while循环语句的语法格式 678

A.5.2 while循环语句的应用 678

A.6 do循环 682

A.6.1 do循环语句的语法格式 682

A.6.2 do循环语句的应用 682

A.7 for循环 685

A.7.1 for循环语句的语法格式 685

A.7.2 for循环语句的应用 685

A.8循环的嵌套 692

A.9循环的中断 695

A.9.1 break语句 695

A.9.2 continue语句 697

A.9.3 goto语句 698

A.10本章小结 699

附录B数组与集合(光盘中) 702

B.1数组 702

B.1.1什么是数组 702

B.1.2数组的定义 702

B.1.3数组的索引 707

B.1.4数组的遍历 709

B.1.5数组元素的清空 711

B.1.6数组的查找 712

B.1.7数组的排序 712

B.1.8数组的使用 714

B.2集合 716

B.2.1什么是集合 716

B.2.2为什么使用集合 716

B.3 ArrayList动态数组 717

B.3.1 ArrayList的构造 717

B.3.2 ArrayList元素的添加 718

B.3.3 ArrayList元素的删除 720

B.3.4 ArrayList元素的查找 721

B.3.5 ArrayList元素的遍历 722

B.3.6 ArrayList向Array的转换 723

B.3.7缩减ArrayList的容量 725

B.4 Hashtable哈希表 727

B.4.1 Hashtable的构造 727

B.4.2 Hashtable元素的特点 728

B.4.3 Hashtable元素的操作 729

B.4.4 Hashtable的优点 732

B.5 Queue队列 732

B.5.1 Queue的概念 733

B.5.2 Queue的构造 733

B.5.3 Queue的相关属性 733

B.5.4 Queue的操作 734

B.5.5 Queue与其他集合的区别 735

B.6 Stack堆栈 736

B.6.1什么是Stack 736

B.6.2定义Stack 737

B.6.3 Stack元素的操作 737

B.6.4 Stack元素的获取规则 738

B.7 SortedList排序集合 740

B.7.1 SortedList的概念 740

B.7.2 SortedList元素的操作 740

B.7.3何时使用SortedList 742

B.8 Dictionary字典 743

B.8.1 Dictionary类简介 743

B.8.2更改Dictionary类中的条目 744

B.8.3更改条目的值 745

B.8.4查找条目 746

B.8.5遍历Dictionary 747

B.9对象和集合初始化 748

B.9.1什么是对象初始化器 748

B.9.2什么是集合初始化器 749

B.10匿名类型 750

B.10.1创建匿名类型对象 750

B.10.2匿名类型的特点 752

B.11本章小结 752

附录C运算符重载(光盘中) 754

C.1运算符的可重载性 754

C.2重载运算符的应用 755

C.3本章小结 760

附录D输入/输出(光盘中) 762

D.1文件 762

D.1.1 System.IO类介绍 762

D.1.2文件类File 764

D.1.3文件夹类Directory 766

D.1.4文件信息类FileInfo 767

D.1.5文件夹信息类DirectoryInfo 769

D.1.6文件信息类与文件夹信息类的用法 770

D.2流 770

D.2.1流操作类介绍 770

D.2.2文件流类FileStream 771

D.2.3流写入类StreamWriter 776

D.2.4流读取类StreamReader 778

D.2.5二进制流写入类BinaryWriter 780

D.2.6二进制流读取类BinaryReader 781

D.3高级实例 783

D.4本章小结 787