图书目录

第1章  深入了解.NET Framework 1

1.1  .NET Framework回顾 2

1.2  .NET Framework的体系结构 2

1.3  .NET Framework的组件 3

1.3.1  公共语言运行时 3

1.3.2  通用类型系统 4

1.3.3  公共语言规范 5

1.4  .NET程序编译原理 5

1.5  .NET框架类库 6

1.5.1  框架类库 6

1.5.2  框架类库中的命名空间 6

1.6  示例 7

【小结】 8

【自测题】 8

第2章  C#语法基础 9

2.1  预定义数据类型 10

2.1.1  为什么需要区分数据类型 10

2.1.2  主要预定义数据类型 10

2.2  程序中的变量和常量 11

2.2.1  变量的概念和作用 11

2.2.2  变量的定义 12

2.2.3  变量的赋值 13

2.2.4  常量 13

2.2.5  使用var创建隐型局部变量 13

2.3  表达式和常用运算符 16

2.3.1  表达式以及运算符的分类的

定义 16

2.3.2  算术运算符 16

2.3.3  比较运算符 16

2.3.4  逻辑运算符 17

2.3.5  快捷运算符 17

2.3.6  三元运算符 18

2.3.7  运算符优先级 18

2.4  C#中的程序控制结构 19

2.4.1  条件判断结构 19

2.4.2  循环结构 23

2.5  数组 26

2.5.1  数组的定义 26

2.5.2  数组的赋值和取值 27

2.5.3  使用var和数组初始化器

创建隐型数组 28

2.5.4  数组结合循环 29

2.6  枚举 31

2.7  简单类型转换 35

2.7.1  数值类型转换成字符串 35

2.7.2  字符串转换成数值类型 36

【小结】 36

【自测题】 37

【上机部分】 38

【课后作业】 46

第3章  类和对象(一) 47

3.1  C#——面向对象语言 48

3.1.1  面向对象语言的诞生和特点 48

3.1.2  面向对象语言基础——

      类的概念和定义 49

3.1.3  对象 50

3.1.4  创建匿名类的对象 53

3.2  成员方法 54

3.2.1  成员方法的定义 54

3.2.2  方法调用 55

3.3  构造方法 56

3.3.1  为什么需要构造方法 56

3.3.2  this关键字 62

3.4  命名空间 64

3.5  面向对象语言特点和访问

 修饰符 67

3.5.1  面向对象语言的特点 67

3.5.2  访问修饰符 68

3.6  值类型和引用类型 74

3.6.1  数据类型的分类:值类型和

      引用类型 74

3.6.2  值类型和引用类型的转换:

      装箱和拆箱 78

【小结】 79

【自测题】 80

【上机部分】 80

【课后作业】 88

第4章  类和对象(二) 89

4.1  类的静态成员 90

4.1.1  静态方法和static关键字 90

4.1.2  静态成员变量 93

4.2  ref关键字和out关键字 94

4.2.1  ref关键字 94

4.2.2  out关键字 96

4.3  成员方法的重载 97

【小结】 101

【自测题】 101

【上机部分】 102

【课后作业】 106

第5章  C# OOP深入 107

5.1  类似于类的数据类型——

 结构体 108

5.2  访问私有成员的利器——

 属性 110

5.2.1  如何定义和使用属性 111

5.2.2  自动属性 114

5.3  索引器 114

5.4  静态类 118

5.5  使用类图查看类的构造 119

【小结】 120

【自测题】 121

【上机部分】 121

【课后作业】 128

第6章  C#事件处理 129

6.1  委托 130

6.1.1  定义委托 131

6.1.2  实例化委托 131

6.1.3  调用委托 133

6.1.4  匿名方法 133

6.2  事件 135

6.2.1  定义事件 136

6.2.2  订阅事件 136

6.2.3  引发事件 137

6.3  自定义事件完整实例 137

6.4  含参数事件完整实例 139

【小结】 143

【自测题】 143

【上机部分】 144

【课后作业】 150

第7章  继承和多态 151

7.1  继承 152

7.1.1  继承C#中的类 152

7.1.2  继承中的构造方法 156

7.1.3  base关键字和protected

      访问修饰符 159

7.2  密封类 163

7.3  多态 164

【小结】 168

【自测题】 168

【上机部分】 170

【课后作业】 176

第8章  抽象类和接口 177

8.1  抽象类 178

8.2  接口 182

8.2.1  使用接口 183

8.2.2  继承基类并实现接口 184

8.2.3  多重接口实现 186

8.2.4  is和as关键字 187

8.2.5  接口绑定 188

8.2.6  接口作为参数的意义 189

8.2.7  接口小结 189

8.3  接口和抽象类的区别 189

【小结】 190

【自测题】 190

【上机部分】 191

【课后作业】 193

第9章  常用类 195

9.1  Math类 196

9.2  Random类 197

9.3  DateTime结构 200

9.4  System.String类 202

9.5  StringBuilder类 204

9.6  正则表达式 205

9.6.1  System.Text.RegularExpressions命名空间 206

9.6.2  Regex类 206

9.6.3  Match类和

MatchCollection类 211

9.6.4  模糊匹配 212

【小结】 214

【自测题】 214

【上机部分】 215

【课后作业】 218

第10章  集合和泛型 219

10.1  System.Array概述 220

10.2  System.Array的属性和

 方法 221

10.3  System.Collections命名

 空间 223

10.3.1  ArrayList类 223

10.3.2  HashTable类 226

10.4  泛型集合 229

10.4.1  System.Collections.Generic

命名空间 231

10.4.2  List<T>类 231

10.4.3  Dictionary<TKey,TValue>类 234

10.4.4  对象与集合初始化器 237

10.5  Lambda表达式与语句 238

10.5.1  Lambda表达式 238

10.5.2  Lambda语句 239

10.5.3  带有标准查询运算符的

Lambda 239

10.6  扩展方法 240

10.6.1  扩展方法一:

       FirstOrDefault() 241

10.6.2  扩展方法二:Max() 243

10.6.3  扩展方法三:

       SingleOrDefault() 244

10.6.4  扩展方法四:Where() 245

10.6.5  扩展方法五:Select() 246

10.7  IComparable接口实现排序 247

10.8  泛型接口 252

10.8.1  IComparable<T>接口 252

10.8.2  IComparer<T>接口 253

【小结】 256

【自测题】 257

【上机部分】 257

【课后作业】 264

第11章  调试和异常处理 265

11.1  调试 266

11.1.1  调试的必要性 266

11.1.2  调试过程 267

11.1.3  Visual Studio 2008中的

       调试工具 270

11.2  异常 272

11.2.1  System.Exception 273

11.2.2  try和catch块 275

11.2.3  使用throw引发异常 276

11.2.4  使用finally 276

11.2.5  多重catch块 277

11.2.6  自定义异常类 277

11.3  应用程序示例 278

【小结】 280

【自测题】 281

【上机部分】 281

【课后作业】 288

第12章  C#中的文件处理 289

12.1  System.IO命名空间 290

12.2  File类 290

12.3  Directory类 291

12.4  对文本文件的读写操作 292

12.4.1  文件流 293

12.4.2  流读写对象 294

12.5  二进制文件的读写 297

12.6  序列化和反序列化 301

【小结】 304

【自测题】 304

【上机部分】 305

【课后作业】 309

参考文献 311