《C# 3.0项目导向与实训程序设计教程》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:王宗亮编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302235866
  • 页数:366 页
图书介绍:本书围绕程序设计语言的基础知识和C#新特性,采用项目导向与实训的方式,全面介绍如何利用Visual Studio 2008 和.NET Framework 3.5进行C# 3.0项目的编程与开发。

第1章 您是谁——C#编程入门 1

1.1 项目预览 1

1.2 建立Visual Studio 2008集成开发环境 1

1.3 编写第一个控制台应用程序 5

1.4 创建图形用户界面应用程序项目 8

1.4.1 创建WPF应用程序项目 8

1.4.2 创建Windows窗体应用程序项目 13

1.5 本章小结 16

1.6 项目实训1:您是谁 17

第2章 计算器——数据类型与表达式 20

2.1 项目预览 20

2.2 标识符 20

2.3 关键字 21

2.4 变量 22

2.5 数据类型及数值与字符串之间的转换 23

2.6 算术运算符及算术表达式、字符串连接符 26

2.7 赋值运算符、赋值表达式及赋值语句 28

2.8 运算符的优先级与结合性 29

2.9 自增和自减运算符 30

2.10 语句与方法 31

2.11 声明隐式类型局部变量 32

2.12 本章小结 32

2.13 项目实训2:简易计算器 33

第3章 求矩形面积周长——方法与作用域 35

3.1 项目预览 35

3.2 方法声明 35

3.3 方法调用 37

3.4 变量的作用域 38

3.4.1 局部变量的作用域 38

3.4.2 字段——类成员变量的作用域 38

3.5 方法签名与方法重载 39

3.6 编写方法 41

3.6.1 生成方法存根 41

3.6.2 代码重构——提取方法 42

3.7 调试、生成和发布应用程序 43

3.8 本章小结 46

3.9 项目实训3:用方法调用求矩形面积周长、实现计算器 46

第4章 打折计价——逻辑值与分支语句 52

4.1 项目预览 52

4.2 声明逻辑变量 52

4.3 关系运算符与关系表达式 53

4.4 逻辑运算符与逻辑表达式 54

4.5 程序基本控制结构 55

4.5.1 顺序结构 55

4.5.2 分支结构 55

4.5.3 循环结构 56

4.6 分支语句if-else 56

4.7 多分支语句switch 59

4.8 三目条件运算符 61

4.9 本章小结 63

4.10 项目实训4:打折计价、显示星期几、判断成绩等级 64

第5章 累加、阶乘和乘法表——循环语句 66

5.1 项目预览 66

5.2 循环语句while 66

5.3 复合赋值运算符 68

5.4 循环语句for 69

5.5 循环语句do-while 71

5.6 中断语句break和继续语句continue 72

5.7 嵌套循环 72

5.8 本章小结 73

5.9 项目实训5:计算累加、阶乘,生成乘法表 74

第6章 乘除运算——异常处理 77

6.1 项目预览 77

6.2 异常——运行时出错 77

6.3 异常种类与层次结构 79

6.4 异常处理代码块try-catch等 80

6.5 使用throw语句抛出异常 83

6.6 自定义异常类 85

6.7 启用或禁用整数运算溢出检查checked/unchecked 86

6.8 本章小结 88

6.9 项目实训6:带异常处理的乘除运算 90

第7章 创建圆和矩形类——类与对象 93

7.1 项目预览 93

7.2 定义类 93

7.3 构造函数及其重载 95

7.4 访问修饰符——控制类型及其成员的可访问性 98

7.4.1 类型可访问性 98

7.4.2 类型成员可访问性 98

7.5 静态成员和非静态成员 99

7.5.1 静态成员 99

7.5.2 非静态成员——实例成员 101

7.6 使用关键字const和readonly声明字段 102

7.7 静态类 103

7.8 分部类 104

7.9 属性成员 105

7.9.1 定义属性 105

7.9.2 使用属性 107

7.9.3 属性的局限 108

7.10 自动实现属性 108

7.11 直接设定属性构建对象 111

7.12 匿名类及其对象 112

7.13 本章小结 113

7.14 项目实训7:定义圆和矩形类,计算面积周长和个数 114

第8章 动物类派生——继承与多态 117

8.1 项目预览 117

8.2 继承与派生 117

8.3 派生类调用基类的构造函数 120

8.4 类声明的变量赋值 122

8.5 用new新建派生类成员以隐藏并替换基类同名成员 124

8.6 派生类用override重写基类virtual成员 126

8.7 多态性 128

8.8 用protected声明被派生类继承的受保护成员 129

8.9 理解扩展方法 132

8.10 本章小结 134

8.11 项目实训8:动物类派生马和鲸鱼、人类派生学生 136

第9章 实现抽象图形——抽象类与接口 139

9.1 项目预览 139

9.2 抽象方法与抽象类 139

9.3 密封类 142

9.4 密封方法与密封属性 142

9.5 接口类型 146

9.5.1 接口定义与实现 146

9.5.2 通过接口来引用类 148

9.5.3 显式实现接口 149

9.6 接口多重继承与实现多个接口 150

9.6.1 接口多重继承 150

9.6.2 类实现多个接口 150

9.7 本章小结 151

9.8 项目实训9:实现图形抽象类与接口 152

第10章 年龄计算——值与引用类型、装箱和拆箱 154

10.1 项目预览 154

10.2 值类型与引用类型 154

10.3 栈与堆 156

10.4 空值null与可空值类型 157

10.5 运算符??及其表达式 158

10.6 方法参数的值传递——单向传递 159

10.7 方法参数ref传递——双向传递 162

10.8 方法参数out传递——反向传递 163

10.9 object类型 164

10.10 装箱与拆箱 164

10.11 强制类型转换与is、as运算符 165

10.11.1 强制类型转换及其表达式 165

10.11.2 is运算符及其表达式 166

10.11.3 as运算符及其表达式 168

10.12 本章小结 169

10.13 项目实训10:年龄值与引用类型、装箱与拆箱 171

第11章 季节列举时分转换——枚举与结构 173

11.1 项目预览 173

11.2 声明枚举类型 173

11.3 更改枚举常量编号 174

11.4 应用枚举类型 174

11.5 选择枚举的基础类型 176

11.6 常用预定义结构类型 176

11.7 声明和使用结构类型 178

11.8 结构和类的区别 182

11.9 本章小结 186

11.10 项目实训11:星期、季节列举与时分秒转换 187

第12章 成绩统计——数组与集合 190

12.1 项目预览 190

12.2 数组声明及创建 190

12.2.1 声明数组变量 191

12.2.2 创建数组实例 192

12.2.3 访问数组元素 192

12.2.4 数组声明、创建、元素赋值三合一 193

12.3 多维数组 194

12.4 交错数组 195

12.5 隐式类型数组 196

12.6 使用foreach语句遍历数组 197

12.7 数组排序与复制 198

12.8 集合类概述 200

12.9 数组列表类 200

12.10 队列类 201

12.11 栈类 202

12.12 键/值对、DictionaryEntry结构与Hashtable类 203

12.13 有序表类 204

12.14 使用元素初值表创建集合 206

12.15 本章小结 206

12.16 项目实训12:统计平均成绩 208

第13章 商场计价——参数数组 211

13.1 项目预览 211

13.2 params参数数组 211

13.3 关于Console.WriteLine方法 214

13.4 params object[]参数对象数组 215

13.5 本章小结 217

13.6 项目实训13:找最大最小数、求和与商场计价 218

第14章 文件读写——资源使用与处置 221

14.1 项目预览 221

14.2 对象生存期与垃圾回收 221

14.3 析构函数 223

14.4 IDisposable接口及其Dispose方法 225

14.5 资源使用语句 227

14.6 数据流与文件读写 228

14.7 文件对话框 230

14.8 本章小结 232

14.9 项目实训14:文本文件读写 233

第15章 检索部门员工——索引器 235

15.1 项目预览 235

15.2 数组属性 235

15.3 索引器 237

15.4 对比索引器与数组 240

15.5 接口中的索引器及其实现 242

15.6 显式实现接口索引器 244

15.7 本章小结 245

15.8 项目实训15:检索部门员工、部门与主管相互检索 246

第16章 计算器——委托与事件 251

16.1 项目预览 251

16.2 委托类型 251

16.2.1 声明委托类型 252

16.2.2 实例化委托 252

16.2.3 调用委托 253

16.2.4 委托实例的加减运算 254

16.3 Lambda运算符、表达式及语句 256

16.4 用delegate声明匿名方法 257

16.5 事件 258

16.6 关于WPF用户界面事件 260

16.7 本章小结 261

16.8 项目实训16:运用委托与事件编写简易计算器 263

第17章 字符串出入队——泛型类与方法 266

17.1 项目预览 266

17.2 泛型类型 266

17.3 泛型方法 270

17.4 泛型类型参数约束 274

17.5 本章小结 276

17.6 项目实训17:字符串入队出队与字符串交换 277

第18章 生成星期数——枚举数与迭代器 279

18.1 项目预览 279

18.2 可枚举集合 279

18.3 枚举数 280

18.4 迭代器 283

18.5 本章小结 290

18.6 项目实训18:生成一星期各天数 291

第19章 成绩和选课查询——LINQ 293

19.1 项目预览 293

19.2 语言集成查询 293

19.3 查询表达式与查询语法 295

19.3.1 查询表达式子句 295

19.3.2 查询变量 296

19.4 查询种类 297

19.5 查询执行 298

19.5.1 延迟执行查询 298

19.5.2 强制立即执行查询 298

19.5.3 缓存立即执行的查询结果 299

19.6 方法语法 300

19.7 本章小结 304

19.8 项目实训19:成绩和选课查询 305

第20章 复数相加减——运算符重载 308

20.1 项目预览 308

20.2 运算符重载 308

20.3 重载等于与不等于运算符 312

20.3.1 内容相等与引用相等 312

20.3.2 相等比较 313

20.3.3 在复数结构中重载等于和不等于运算符 315

20.3.4 关于字符串相等比较 316

20.4 类型转换运算符 317

20.5 复数综合运算示例 320

20.6 本章小结 322

20.7 项目实训20:复数加减及相等比较 323

第21章 查询学生数据库——对象关系映射与LINQ to SQL 326

21.1 项目预览 326

21.2 ADO.NET概述 326

21.3 建立数据库 328

21.4 使用ADO.NET查询数据库 331

21.5 使用O/R设计器和LINQ to SQL查询数据库 333

21.6 自定义数据上下文类和实体类查询数据库 338

21.7 本章小结 342

21.8 项目实训21:查询学生数据库信息 344

第22章 增删库成绩——数据绑定与LINQ to SQL 347

22.1 项目预览 347

22.2 数据绑定 347

22.3 复杂数据绑定 350

22.4 添加学生课程成绩 354

22.5 更改学生成绩 358

22.6 删除学生成绩 360

22.7 处理数据库更新冲突 362

22.8 本章小结 363

22.9 项目实训22:学生成绩查询及增删改 364