【书名】亮剑.NET. Visual C# 2008实例演练与系统开发
【作者】许清荣著;胡彦彦,李杨改编
【ISBN】978-7-121-08916-9
【出版社】电子工业出版社
【出版日期】2009年9月
【定 价】79.00元(含光盘1张)
【宣传语】
本书具有如下特色:
1、让读者了解Visual C# 2008有哪些重要的新技术:AJAX、LINQ、WPF、XAML、WCF、WF、WCS等。
2、完整与弹性的书籍架构,本书特别规划“面向对象程序设计”、“窗口应用程序设计”、“数据库应用程序设计”三大架构,详细且严谨的内容呈现,足以满足读者对程序开发各方面的需求,可帮助你奠定深厚的C#基础功力,让窗口应用程序开发及ASP.NET网络应用程序设计无往不利。
3、翔实的面向对象概念讲解,可让你彻底了解面向对象的真正核心精神。
4、新技术WPF应用程序开发设计快速攻略与XAML语法使用技巧翔实解析,搭配程序范例演练让你轻松上手无负担。
5、LINQ技术完美解析,教会你轻松处理访问Objects、DataSet、SQL和XML等数据源。
6、完整讲解Visual C#语法与基本概念,让你的窗口应用程序开发和ASP.NET网络应用程序开发无往不利。
【内容简介】
本书精心规划出能够满足读者学习Visual C# 2008程序设计的“面向对象程序设计”、“窗口应用程序设计”和“数据库应用程序设计”三大类,将此三大类再细分出全书16章的真经,此程序设计的武功秘籍可谓“章章精髓、页页精彩”。
第1章到第10章为面向对象程序设计基础章节,通过经典的程序范例,图文并茂地说明核心程序设计的概念,让你学习C#语言事半功倍,协助你打好扎实深厚的C#基础功力。第11章到第14章主要介绍常见的窗口应用程序设计所需了解的控件用法与范例程序;然后介绍鼠标与键盘的事件处理方式,让你轻松设计所需的窗口应用程序。第15章和第16章针对数据库应用程序设计提供全方位的联机访问技巧,让你轻松从数据库中存取所需信息,并且说明如何通过新技术LINQ的应用和加载,让你轻松对各种数据源进行处理。
【目录】
第1章 新一代集成开发环境Visual Studio 2008的介绍 1
1.1 什么是.NET 2
1.1.1 .NET的意义 2
1.1.2 新一代.NET的平台结构 2
1.1.3 .NET程序的编译方式 3
1.2 Microsoft .NET Framework 3.5介绍 4
1.2.1 .NET Framework的基本概念 4
1.2.2 .NET Framework 3.5的功能与新特色 6
1.3 Visual Studio 2008新技术介绍 11
1.3.1 AJAX——Asynchronous JavaScript. And XML 11
1.3.2 LINQ——Language Integrated Query 11
1.3.3 WPF——Windows Presentation Foundation 13
1.3.4 XAML——eXtensible Application Markup Language 15
1.3.5 WCF——Windows Communication Foundation 17
1.3.6 WF——Windows Workflow Foundation 22
1.3.7 WCS——Windows CardSpace 34
1.4 什么是Visual C# 2008 37
1.4.1 什么是C# 37
1.4.2 C#优越的语言特性 37
1.5 Visual C# 2008的主要优势与应用领域 38
1.5.1 学习C#的优势 39
1.5.2 C#的应用领域 40
1.6 Visual C# 2008的新功能与特色 40
1.6.1 Visual C# 2008新功能快速预览 41
1.6.2 多目标(Multi-targeting)项目开发.NET Framework
版本选择 42
1.6.3 IntelliSense和Refactoring的支持 43
1.6.4 对象、集合初始化设定式 47
1.6.5 隐含类型和匿名类型的使用 48
1.6.6 扩充方法和部分方法的使用 50
1.6.7 自动实作属性 53
1.7 Visual C# 2008其他重要功能介绍 54
1.7.1 插入代码段(Code Snippets) 54
1.7.2 部分类别(Partial Classes) 55
1.7.3 迭代器(Iterator) 58
1.7.4 匿名方法(Anonymous Methods) 59
1.7.5 运算符重载(Operator Overloading) 60
1.7.6 泛型(Generics) 62
1.8 Visual C# 2008与Visual Basic 2008的差异分析 66
1.9 课后习题(Exercise) 67
第2章 Windows Form集成开发环境(IDE)介绍 69
2.1 Visual C# 2008 项目结构和常用图标 70
2.1.1 Visual C# 2008项目结构介绍 70
2.1.2 Visual C# 2008程序开发常见图标介绍 71
2.2 Visual C# 2008环境接口的功能操作 72
2.2.1 Visual C# 2008项目类型 73
2.2.2 工具箱——存放控件与组件 74
2.2.3 服务器总管——如何与服务器互动及新增与管理数据库 76
2.2.4 方案总管——管理应用程序窗口与相关文件 79
2.2.5 属性窗口——可变更控件或组件的属性设定 81
2.2.6 表单窗口——用来设计应用程序的版面(Layout) 82
2.2.7 菜单——提供执行窗口环境的相关功能 84
2.2.8 工具栏——提供经常使用的快捷键选项 85
2.3 Visual C# 2008项目开发操作技巧 86
2.3.1 程序代码变更追踪功能 86
2.3.2 将其他组件从项目中加入参考以扩充程序功能 87
2.4 Visual C# 2008优化环境设定 89
2.4.1 选择适当字体与调整字号 90
2.4.2 程序代码行号显示设置 91
2.4.3 输入和输出环境设定 92
2.4.4 起始页新闻频道设定 94
2.5 Visual C# 2008除错方式 96
2.5.1 错误列表窗口(Error List) 97
2.5.2 程序代码逐步执行(Step Into Code) 97
2.5.3 切换断点(Toggle Breakpoint) 98
2.5.4 监视窗口(Watch Window) 99
2.5.5 实时运算窗口(Immediate Window) 102
2.5.6 命令窗口(Command Window) 103
2.6 课后习题(Exercise) 104
第3章 Visual C# 2008数据类型 107
3.1 公共类型系统(Common Type System)介绍 108
3.1.1 CLR、CTS与CLS三者之间的关系 109
3.1.2 实数类型与参数类型(Value Types & ReferenceTypes) 110
3.1.3 装箱与拆箱(Boxing & Unboxing) 112
3.1.4 隐含转换&明确转换(Implicit Conversion &
Explicit Conversion) 113
3.2 变量(Variable)与常量(Constant)介绍 114
3.2.1 变量(Variable) 114
3.2.2 常量(Constant) 116
3.2.3 变量与常量命名技巧 118
3.3 Visual C# 2008关键词 119
3.4 Visual C# 2008运算符 120
3.4.1 运算符优先级和结合性 120
3.4.2 一元运算符(Unary Operators) 121
3.4.3 算术运算符(Arithmetic Operators) 121
3.4.4 并置运算符(Concatenation Operators) 121
3.4.5 关系运算符(Relational Operators) 122
3.4.6 逻辑运算符(Logical Operators) 122
3.4.7 指定运算符(Assignment Operators) 123
3.5 is和as运算符 124
3.5.1 is运算符 124
3.5.2 as运算符 124
3.6 数据类型种类(Data Types Class) 125
3.7 var匿名类型(Anonymous Types) 127
3.8 enum、struct、Nullable数据类型介绍 128
3.8.1 枚举(enum)数据类型 128
3.8.2 结构(struct)数据类型 130
3.8.3 Nullable类别 132
3.9 数据类型的转换方法 133
3.9.1 System.Convert转换 134
3.9.2 类型.Parse方法 134
3.9.3 指定转换(Cast) 136
3.10 课后习题(Exercise) 137
第4章 Visual C# 2008的程序流程控制 141
4.1 结构化程序设计(Structured Programming) 142
4.2 顺序结构 143
4.3 选择结构 144
4.3.1 单层if 陈述句 144
4.3.2 双层if…else 陈述句 146
4.3.3 嵌套if 陈述句 147
4.3.4 switch陈述句 150
4.3.5 条件运算符(?:)陈述句 153
4.4 循环结构 155
4.4.1 for陈述句 155
4.4.2 foreach 陈述句 157
4.4.3 while陈述句 160
4.4.4 do while陈述句 161
4.5 程序区块的离开、继续与跳跃 163
4.5.1 break陈述句 163
4.5.2 continue陈述句 165
4.5.3 goto陈述句 167
4.6 课后习题(Exercise) 169
第5章 字符(Char)与字符串(String) 173
5.1 字符(Char) 174
5.1.1 什么是字符 174
5.1.2 转义字符串 174
5.1.3 常用字符处理方法 176
5.2 字符串(String) 178
5.2.1 常用字符串处理属性 179
5.2.2 常用字符串处理方法 180
5.3 字符串格式化函数——String.Format()和ToString() 187
5.3.1 什么是格式化 187
5.3.2 数值格式化 188
5.3.3 日期格式化 189
5.4 字符串管理大师——StringBuilder类 190
5.4.1 StringBuilder常用属性 190
5.4.2 StringBuilder常用方法 192
5.5 课后习题(Exercise) 197
第6章 数组与集合类型 199
6.1 数组(Array) 200
6.1.1 一维数组(One-Dimension Array)声明 200
6.1.2 二维数组(Two-Dimension Array)声明 203
6.1.3 三维数组(Three-Dimension Array)声明 206
6.1.4 不规则数组(Jagged Array)声明 206
6.1.5 隐含类型(Implicitly Typed)数组声明 208
6.1.6 数组常用的属性 209
6.1.7 数组常用的方法 210
6.1.8 使用Array类别来对数组进行处理 213
6.2 集合(Collection)类别 216
6.2.1 什么是集合 216
6.2.2 常见的集合类别介绍 216
6.3 ArrayList类别 217
6.3.1 可存放多样类型的ArrayList类别 217
6.3.2 ArrayList类别常用属性和方法 218
6.3.3 ArrayList类别范例程序 224
6.4 Hashtable类别 225
6.4.1 Hashtable类别常用属性和方法 225
6.4.2 Hashtable类别范例程序 226
6.5 SortedList类别 227
6.5.1 SortedList类别常用属性和方法 227
6.5.2 SortedList类别范例程序 228
6.6 Queue类别 229
6.6.1 Queue类别常用属性和方法 229
6.6.2 Queue类别范例程序 230
6.7 Stack类别 231
6.7.1 Stack类别常用属性和方法 231
6.7.2 Stack类别范例程序 232
6.8 课后习题(Exercise) 233
第7章 方法与参数(Method & Parameter) 237
7.1 方法的使用 238
7.1.1 方法的声明 238
7.1.2 方法的调用 239
7.1.3 用存取修饰词来限定方法有效的使用范围 242
7.1.4 其他修饰词介绍 243
7.2 参数传递(Parameter Passing)的机制 244
7.2.1 传值调用(Call by Value) 244
7.2.2 传参数调用(Call by Reference) 246
7.3 方法参数的使用 247
7.3.1 在方法中传递基本数据类型参数 247
7.3.2 在方法中传递对象参数 247
7.3.3 以数组方式来传递方法自变量params 249
7.3.4 ref与out的使用差异 251
7.4 构造函数和析构函数 253
7.4.1 构造函数 (Constructor)——初始化新对象成员 253
7.4.2 析构函数(Destructor)——释放对象所占用的资源 255
7.4.3 using陈述句——垃圾内存资源回收技巧 256
7.5 编写递归程序 257
7.6 课后习题(Exercise) 260
第8章 异常处理(Exception Handling)要诀 263
8.1 什么是异常(Exception) 264
8.2 常见的错误类型 264
8.2.1 语法错误(Syntax Error) 264
8.2.2 编译期错误(Compile Time Error) 265
8.2.3 逻辑错误(Logical Error) 266
8.2.4 执行期错误(Run Time Error) 266
8.2.5 数值性错误(Numerical Error) 267
8.3 结构化异常处理——try…catch…finally 267
8.4 利用throw来丢出异常信息 269
8.5 运用System.Exception类别 272
8.6 打造一个专属的异常类别 273
8.7 课后习题(Exercise) 277
第9章 面向对象程序设计(OOP) 281
9.1 面向对象基本概念 282
9.2 类别和对象(Class and Object) 283
9.2.1 声明类别(Declaring Classes) 284
9.2.2 建立对象(Creating Objects) 286
9.2.3 建立类别属性(Property) 289
9.2.4 建立类别方法(Method) 293
9.2.5 建立不需要实体化的静态类别(Static Class) 294
9.2.6 匿名对象(Anonymous Objects) 295
9.2.7 内部类别(Inner Class) 297
9.3 命名空间(Namespace) 299
9.3.1 声明命名空间(Declaring Namespace) 299
9.3.2 汇入命名空间(Importing Namespaces) 302
9.3.3 建立命名空间别名(Alias) 304
9.3.4 利用命名空间来打造My对象 305
9.4 继承性(Inheritance) 314
9.4.1 单一继承(Single Inheritance) 314
9.4.2 C#不支持多重继承(Multiple inheritance) 319
9.4.3 this和base的使用技巧 320
9.5 多态性(Polymorphism) 323
9.5.1 重载(Overloading)——建立相同方法名称 324
9.5.2 重写(Overriding)——重新打造类别方法 326
9.6 封装(Encapsulation)——达成信息隐藏 330
9.7 抽象化(Abstraction) 333
9.8 接口定义与实作方法 335
9.8.1 接口(Interface)定义 335
9.8.2 实作(Implementation)方法 335
9.8.3 利用接口(Interface)来完成多态性范例程序 336
9.9 抽象类(Abstract Class) 339
9.10 密封类别(Sealed Class) 343
9.11 课后习题(Exercise) 344
第10章 文件处理(File Processing) 351
10.1 文件处理概观 352
10.2 文件存取大师System.IO命名空间 353
10.3 从文件中取出内容 355
10.3.1 BinaryReader——二进制文件内容读取器 355
10.3.2 StreamReader——数据流文件内容读取器 357
10.4 将内容写入文件 359
10.4.1 BinaryWriter——二进制文件内容写入器 360
10.4.2 StreamWriter——数据流文件内容写入器 362
10.5 文件(File)存取 366
10.5.1 文件删除 367
10.5.2 变更文件名 368
10.5.3 文件移动 368
10.5.4 文件复制 369
10.5.5 文件访问时间相关信息 369
10.6 目录(Directory)存取 370
10.6.1 建立目录 371
10.6.2 删除目录 371
10.6.3 搬移目录 372
10.6.4 列出目录所有文件 373
10.6.5 列出目录中所有子目录 373
10.7 项目文件三大派系的使用 374
10.7.1 源文件(*.resx) 374
10.7.2 配置文件(*.settings) 376
10.7.3 应用程序配置文件(App.config) 380
10.8 课后习题(Exercise) 386
第11章 常用控件与MessageBox类别介绍 391
11.1 通用控件(Common Controls) 392
11.1.1 Button控件 392
11.1.2 ComboBox控件 395
11.1.3 Label控件 399
11.1.4 TextBox控件 402
11.1.5 ToolTip控件 405
11.1.6 CheckBox控件 408
11.1.7 RadioButton控件 411
11.1.8 ListBox控件 414
11.1.9 ListView控件 420
11.1.10 TreeView控件 426
11.1.11 PictureBox控件 432
11.1.12 NotifyIcon控件 436
11.2 容器控件(Containers) 439
11.2.1 GroupBox控件 439
11.2.2 Panel控件 441
11.2.3 TabControl控件 444
11.3 消息框MessageBox类别介绍 448
11.3.1 MessageBox.Show()显示消息框方法 448
11.3.2 MessageBoxButtons按钮显示列举类型成员 448
11.3.3 MessageBoxIcon图标显示列举类型成员 449
11.3.4 MessageBoxOptions特殊显示列举类型成员 451
11.3.5 DialogResult接收按下哪个按钮列举类型成员 452
11.4 课后习题(Exercise) 455
第12章 其他控件分类介绍 459
12.1 菜单与工具栏(Menus & Toolbars)控件 460
12.1.1 ContextMenuStrip控件 460
12.1.2 MenuStrip控件 463
12.1.3 StatusStrip控件 468
12.1.4 ToolStrip控件 471
12.2 数据(Data)控件 474
12.2.1 DataSet组件 474
12.2.2 DataGridView控件 480
12.2.3 BindingSource组件 490
12.2.4 BindingNavigator控件 493
12.3 组件(Components)控件 500
12.3.1 ErrorProvider组件 500
12.3.2 ImageList组件 503
12.3.3 Process组件 505
12.3.4 Timer组件 508
12.4 对话框(Dialogs)控件 510
12.4.1 FolderBrowserDialog控件 511
12.4.2 OpenFileDialog控件 514
12.4.3 SaveFileDialog控件 517
12.5 特殊控件 520
12.5.1 MicrosoftReportViewer控件——报告 520
12.5.2 ElementHost控件——WPF Interoperability 527
12.5.3 PrintForm控件——Visual Basic PowerPacks 530
12.6 课后习题(Exercise) 533
第13章 WPF应用程序控件与XAML语法 535
13.1 WPF结构与XAML语法介绍 536
13.1.1 WPF结构(WPF Architecture) 536
13.1.2 WPF 基本类别成员介绍 538
13.1.3 XAML概观 549
13.1.4 XAML语法专门用语 552
13.1.5 XAML 命名空间 554
13.2 WPF应用程序一般控件 558
13.2.1 Button控件 559
13.2.2 CheckBox控件 561
13.2.3 ComboBox控件 564
13.2.4 Label控件 567
13.2.5 RadioButton控件 570
13.2.6 TextBox控件 572
13.3 WPF应用程序其他控件 575
13.3.1 Image控件 575
13.3.2 PasswordBox控件 579
13.3.3 TabControl控件 581
13.4 课后习题(Exercise) 585
第14章 窗口事件的控制方式 587
14.1 事件概观 588
14.2 鼠标事件(Mouse Event) 590
14.3 键盘事件(Keyboard Event) 593
14.4 委托(Delegate) 598
第15章 ADO.NET 3.5组件介绍 603
15.1 ADO.NET 3.5结构 604
15.2 ADO.NET 3.5的重要功能介绍 605
15.3 System.Data命名空间 607
15.3.1 汇入System.Data命名空间来调用ADO.NET组件 608
15.3.2 引用System.Data.OleDb命名空间来存取Access数据库 609
15.3.3 引用System.Data.SqlClient命名空间来存取SQL Server数据库 610
15.4 .NET Framework Data Provider 610
15.4.1 Connection对象 611
15.4.2 Command对象 614
15.4.3 DataReader对象 619
15.4.4 DataAdapter对象 623
15.5 DataSet对象 626
15.5.1 DataTable对象 630
15.5.2 DataView对象 634
15.6 数据库管理联机字符串方式 639
15.6.1 OleDbConnectionStringBuilder类别管理Microsoft Access联机 639
15.6.2 SqlConnectionStringBuilder类别管理Microsoft SQLServer联机 642
第16章 语言集成查询(LINQ) 647
16.1 什么是LINQ? 648
16.2 LINQ查询 649
16.2.1 LINQ查询三大步骤 649
16.2.2 不使用foreach的强制立即查询 650
16.2.3 基本查询:筛选、排序、群组、连结、选取/投影 651
16.3 LINQ to ADO.NET 654
16.3.1 LINQ to DataSet 654
16.3.2 LINQ to SQL 658
16.4 LINQ to Objects 664
16.5 LINQ to XML 666