C#软件解决方案

C#软件解决方案
作 者: 李维斯 朱剑平
出版社: 清华大学出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: VC++
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《C#软件解决方案》作者简介

内容简介

在本书中,畅销书作家John Lewis继续他的惯例,将重点放在编写设计良好的软件解决方案的编程技巧上。本书是C#编程语言的全面介绍,以编程新手容易理解的渐进方式呈现。它集成了C#编程语言和编写高质量软件程序的技术的最新介绍。本书特点:从一开始就重点强调面向对象的程序设计,通过将编程实践放到所有的例子和解释中来提供好的编程技巧的基础。由始至终使用几个完全实现的例来讲解特定的编程概念。包括了一个Visual Studio环境的快速入门。在每章中包含一个有精选图形的Windows Track(Windows专题)教程,作为面向对象引人入胜的示例。

图书目录

第1章 绪论 1

  本章目标 1

  1.1 计算机处理 2

1.1.1 软件的分类 3

1.1.2 数字计算机 4

1.1.3 二进制数 5

  1.2 硬件组件 7

1.2.1 计算机体系结构 7

1.2.2 输入/输出设备 9

1.2.3 主存储器和辅助存储器 9

1.2.4 中央处理单元 12

  1.3 网络 13

1.3.1 网络连接 13

1.3.2 局域网和广域网 14

  1.4 C#编程语言 17

1.4.1 一个C#程序 18

1.4.2 调试:启动程序和单步调试 20

1.4.3 程序结构 20

1.4.4 注释 21

1.4.5 标识符和保留字 22

  1.5 C#的标识符 24

空白 24

  1.6 程序开发 26

1.6.1 编程语言级别 26

1.6.2 编辑器、编译器和解释器 28

1.6.3 开发环境 29

1.6.4 语法和语义 30

1.6.5 错误 30

  1.7 面向对象编程 31

1.7.1 问题求解 32

1.7.2 面向对象软件原理 33

  关键概念总结 35

  自测题 36

  习题 37

  编程项目 39

  自测题解答 40

第2章 数据和表达式 43

  本章目标 43

  2.1 字符串 44

2.1.1 Write和WriteLine方法 44

2.1.2 字符串连接 45

2.1.3 转义序列 48

  2.2 变量和赋值 49

2.2.1 变量 49

2.2.2 赋值语句 50

2.2.3 常量 52

  2.3 原始数据类型 53

2.3.1 整数和浮点数 53

2.3.2 有符号整数和无符号整数 54

2.3.3 十进制数据类型 55

2.3.4 字符型 55

2.3.5 布尔型 56

  2.4 表达式 56

2.4.1 算术运算符 57

2.4.2 运算符优先级 57

2.4.3 增量和减量运算符 60

2.4.4 赋值运算符 60

  2.5 数据转换 61

转换技术 63

  2.6 交互式程序 64

调试:断点和查看变量的内容 66

  2.7 基于Windows的程序 67

2.7.1 基于事件的编程 67

2.7.2 处理事件 68

2.7.3 图形用户界面(GUI) 68

  2.8 图形模型 69

2.8.1 坐标系统 69

2.8.2 表示颜色 70

  2.9 第1个GUI程序 71

2.9.1 在程序中添加代码 74

2.9.2 Einstein应用程序的分析 75

  2.10 绘制形状 76

Graphics类 76

  关键概念总结 80

  自测题 80

  习题 80

  编程项目 82

  自测题解答 83

第3章 使用类和对象 85

  本章目标 85

  3.1 创建对象 86

3.1.1 字符串概述 86

3.1.2 别名 88

  3.2 深入String和StringBuilder类 90

  3.3 .NET体系结构和基类库 94

3.3.1 基类库 95

3.3.2 using声明 95

  3.4 Random类 96

  3.5 Math类 98

  3.6 格式化输出 100

3.6.1 标准的数值格式化 100

3.6.2 定制的数值格式化 103

3.6.3 组合格式化 105

  3.7 枚举类型 107

  3.8 组件和容器 109

3.8.1 窗体 110

3.8.2 载入窗体 111

3.8.3 创建新窗体 111

3.8.4 在窗体设计器中访问窗体控件 112

3.8.5 在窗体中放置控件 112

3.8.6 显示和关闭Copyright窗体 113

3.8.7 显示Copyright窗体和使用Load事件 114

  3.9 绘制线和Pen(画笔)的样式 114

3.9.1 Visual Studio中的枚举 115

3.9.2 Pens示例程序 116

3.9.3 客户矩形和设置屏幕高度 118

  3.10 图像 118

     标签示范程序 119

  关键概念总结 120

自测题 120

习题 120

  编程项目 121

  自测题解答 122

第4章 编写类 123

  本章目标 123

  4.1 创建对象 124

4.1.1 在项目中增加类 124

4.1.2 实例数据 129

4.1.3 UML类图 129

  4.2 封装 130

4.2.1 可见性修饰符 131

4.2.2 取值器和赋值器 132

  4.3 方法的解析 132

4.3.1 return语句 133

4.3.2 参数 134

4.3.3 局部数据 135

4.3.4 银行账户示例 135

  4.4 属性 139

编码标准 140

  4.5 再论构造函数 140

4.5.1 调试:查看对象变量的内容 141

4.5.2 调试:Step Into、Step Out和Step Over 142

  4.6 为图形化的图像使用类 142

  4.7 BRUSH(画刷) 146

4.7.1 Hatch Brush(阴影刷) 147

4.7.2 Gradient Brush(梯度刷) 147

  4.8 图形用户界面 148

  4.9 按钮 149

4.9.1 在源文件中查找代码 150

4.9.2 手动添加事件 151

4.9.3 AcceptButton和CancelButton按钮 152

  4.10 文本字段 152

     4.10.1 代码中文本框的光标控制和选择部分 154

     4.10.2 多行文本框 155

     4.10.3 文本框中的控制字符 155

  4.11 设置Tab键顺序 155

  关键概念总结 156

  自测题 157

  习题 157

  编程项目 157

  自测题解答 158

第5章 条件语句和循环 159

  本章目标 159

  5.1 创建对象 162

5.1.1 相等运算符和关系运算符 163

5.1.2 逻辑运算符 164

  5.2 if语句 165

5.2.1 if-else语句 167

5.2.2 使用块语句 171

5.2.3 条件语句运算符 173

5.2.4 嵌套if语句 173

  5.3 比较数据 175

5.3.1 比较浮点数 175

5.3.2 比较字符 176

5.3.3 比较对象 176

  5.4 switch语句 177

  5.5 while语句 180

5.5.1 无限循环 183

5.5.2 嵌套循环 184

5.5.3 其他循环控制 187

  5.6 do语句 187

  5.7 for语句 189

  5.8 foreach语句和数组的介绍 193

5.8.1 简单的文件I/O 194

5.8.2 比较循环 195

5.8.3 调试:Watch窗口 196

5.8.4 调试:Command窗口 196

  5.9 用循环和条件语句绘图 197

  5.10 判断事件源 199

  5.11 对话框 201

     5.11.1 使用对话框结果 203

     5.11.2 MessageBox:系统提供的对话框 203

  5.12 更多的按钮组件 205

     5.12.1 复选框 205

     5.12.2 单选按钮 208

     5.12.3 文本框检验 210

     5.12.4 事件处理程序的无限循环 212

  关键概念总结 212

  自测题 212

  习题 213

  编程项目 216

  自测题解答 219

第6章 面向对象设计 221

  本章目标 221

  6.1 软件开发活动 222

  6.2 确定类和对象 223

分配职责 224

  6.3 静态类成员 224

6.3.1 静态变量 224

6.3.2 静态方法 225

  6.4 类的关系 227

6.4.1 依赖性 227

6.4.2 同一个类的对象之间的依赖性 228

6.4.3 聚集 233

6.4.4 this引用 236

  6.5 接口 237

IComparable接口 242

  6.6 方法设计 242

6.6.1 方法分解 242

6.6.2 再论方法参数 246

6.6.3 ref关键字 249

6.6.4 out关键字 251

  6.7 方法重载 251

  6.8 类中的运算符重载 253

创建类库 253

  6.9 Object Browse(对象浏览器) 259

  6.10 测试 260

     6.10.1 评审 260

     6.10.2 缺陷测试 260

     6.10.3 调试:模块级测试和改变程序顺序 262

     6.10.4 调试:跟踪问题和Output窗口 262

  6.11 GUI设计 264

  6.12 面板和图片框 265

     6.12.1 面板 265

     6.12.2 图片框 266

     6.12.3 在控件上绘图 266

  6.13 选项卡控件 270

  关键概念总结 271

  自测题 271

  习题 271

  编程项目 272

  自测题解答 274

第7章 数组 275

  本章目标 275

  7.1 数组元素 276

  7.2 声明和使用数组 276

7.2.1 边界检查 278

7.2.2 初始化列表 282

7.2.3 数组作为参数 283

  7.3 对象数组 284

  7.4 命令行参数 291

  7.5 可变长度参数列表 293

  7.6 二维数组 296

多维数组 299

  7.7 ArrayList类 299

7.7.1 指定ArrayList元素类型 302

7.7.2 ArrayList的效率 302

  7.8 foreach循环 303

  7.9 多边形和折线 304

7.9.1 Point和PointF类 304

7.9.2 Size和SizeF类 305

7.9.3 Rectangle和RectangleF类 305

     7.9.4 为Size、Point和Rectangle使用ArrayList 305

     7.9.5 用Point、PointF、Rectangle、RectangleF和Arrays绘图 306

  7.10 鼠标事件 310

  7.11 键事件 315

  7.12 窗体特殊事件 318

  关键概念总结 319

  自测题 320

  习题 320

  编程项目 321

  自测题解答 323

  团队项目 324

第8章 继承 327

  本章目标 327

  8.1 创建子类 328

8.1.1 protected修饰符 331

8.1.2 base引用 332

8.1.3 多重继承 335

  8.2 重写方法 335

影子变量 338

  8.3 类层次 338

8.3.1 Object类 339

8.3.2 抽象类 340

8.3.3 接口继承 341

  8.4 可见性 342

  8.5 继承设计 344

限制继承 345

  8.6 组件类继承 345

  8.7 重写事件处理程序 347

  8.8 扩展GUI组件 350

  8.9 Timer类 356

  关键概念总结 359

  自测题 360

  习题 360

  编程项目 360

  自测题解答 362

  团队项目 362

第9章 多态 365

  本章目标 365

9.1 晚绑定 366

9.2 使用继承的多态 366

  9.3 使用接口的多态 375

  9.4 排序 377

9.4.1 选择排序 377

9.4.2 插入排序 382

9.4.3 排序算法比较 383

  9.5 查找 384

9.5.1 线性查找 384

9.5.2 二分查找 386

9.5.3 查找算法比较 388

  9.6 多态的设计 388

  9.7 系统支持的对话框 389

9.7.1 打开文件对话框(OpenFileDialog) 392

9.7.2 保存文件对话框(SaveFileDialog) 393

9.7.3 文件夹浏览对话框(FolderBrowserDialog) 393

9.7.4 颜色对话框(ColorDialog) 393

9.7.5 字体对话框(FontDialog) 393

9.7.6 页面设置对话框(PageSetupDialog) 394

9.7.7 打印对话框(PrintDialog) 394

  9.8 滑块和数值上下调节计数器 395

  9.9 系统注册表操作 397

  关键概念总结 400

  自测题 401

  习题 401

  编程项目 401

  自测题解答 402

第10章 异常 403

  本章目标 403

  10.1 异常处理 404

  10.2 未捕获的异常 404

  10.3 try-catch语句 406

     finally子句 409

  10.4 异常传播 409

  10.5 异常类层次 412

  10.6 I/O异常 415

  10.7 产生定制事件 418

     10.7.1 创建委托(Delegate) 418

     10.7.2 定义事件 418

     10.7.3 产生事件 419

     10.7.4 处理事件 419

     10.7.5 回顾事件处理 420

  10.8 工具提示和助记符 426

     10.8.1 工具提示 426

     10.8.2 助记符(快捷键) 427

     10.8.3 禁用组件 427

  10.9 列表框和组合框 429

     各种控件示例 430

  10.10 日历控件 433

  10.11 状态栏 435

  10.12 菜单 436

  10.13 串行化 444

  10.14 带滚动条的面板 445

  10.15 带滚动条的文本框 447

  10.16 拆分窗格 449

  10.17 其他示例程序 452

  关键概念总结 453

  自测题 453

  习题 453

  编程项目 454

  自测题解答 454

  团队项目 455

第11章 递归 457

  本章目标 457

  11.1 递归地思考 459

     11.1.1 无限递归 459

     11.1.2 数学中的递归 460

  11.2 递归编程 460

     11.2.1 递归与迭代 461

     11.2.2 直接递归与间接递归 462

  11.3 使用递归 462

     11.3.1 遍历迷宫 462

     11.3.2 汉诺塔 466

  11.4 图形中的递归 470

     11.4.1 平铺图片 470

     11.4.2 分形 472

  11.5 打印 477

     11.5.1 Print文档(PrintDocument) 477

     11.5.2 打印机设置(PrinterSettings) 478

     11.5.3 使用预览对话框(PrintPreviewDialog) 478

     11.5.4 打印页 479

     11.5.5 PrintPage事件处理程序 479

     11.5.6 打印示例 480

  关键概念总结 483

  自测题 483

  习题 484

  编程项目 484

  自测题解答 486

  团队项目 487

第12章 集合和数据结构 489

  本章目标 489

  12.1 集合和数据结构 490

     接口和实现分离 490

  12.2 动态表示 490

     12.2.1 动态结构 491

     12.2.2 动态链表 491

     12.2.3 其他动态列表表示 495

  12.3 线性数据结构 496

     12.3.1 队列 496

     12.3.2 栈 498

  12.4 非线性数据结构 500

     12.4.1 树 500

     12.4.2 图 501

  12.5 C#集合类 501

  12.6 为类添加定制索引器 505

  关键概念总结 506

  自测题 507

  习题 507

  编程项目 508

  自测题解答 510

附录A 数值系统 513

  A.1 位值 513

  A.2 比10大的基 514

  A.3 转换 516

A.4 快捷转换 517

附录B Unicode字符集 519

附录C 编码标准、软件工程和相关主题 521

  C.1 质量问题 521

  C.2 命名常规 522

  C.3 编码规范 524

  C.4 内部文档和样式 525

附录D Visual Studio安装指南 527

  D.1 从Web上安装Visual Studio 527

  D.2 Visual Studio的安装 529

  D.3 启动Visual Studio 531

  D.4 将Visual Studio的图标增加到桌面 532

  D.5 设置命令行提示 533