第1章 计算机,Internet和Visual C#简介 1
1.1简介 2
1.2计算机的结构 2
1.3个人计算,分布式计算和客户/服务器计算 3
1.4硬件趋势 3
1.5 Windows操作系统 3
1.6机器语言,汇编语言和高级语言 3
1.7 Visual Basic 4
1.8 C,C++,Objective-C和Java 4
1.9 C 5
1.10 Internet与万维网 5
1.11可扩展标记语言(XML) 6
1.12 Microsoft.NET简介 6
1.13 NET框架和公共语言运行时 6
1.14编写并测试Advanced Painter程序 7
1.15对象技术介绍 8
1.16小结 10
1.17 Web资源 10
第2章 深入探究Visual C# 2010 Express 18
2.1简介 19
2.2 Visual Studio 2010 IDE概述 19
2.3菜单栏和工具栏 22
2.4 Visual Studio IDE导航 23
2.5使用帮助 26
2.6用可视化编程创建简单的程序,显示文本和图像 27
2.7小结 32
2.8 Web资源 33
第3章C#程序入门 39
3.1简介 40
3.2一个简单的C#程序:显示一行文本 40
3.3在Visual C# Express中创建简单的程序 43
3.4修改简单的C#程序 49
3.5用Console.Write和Console.WriteL.ine格式化文本 50
3.6另一个C#程序:整数相加 51
3.7内存概念 53
3.8算术运算 54
3.9判断:相等运算符和关系运算符 56
3.10小结 59
第4章类,对象,方法和string简介 70
4.1简介 71
4.2类,对象,方法,属性和实例变量 71
4.3声明带方法的类并实例化类的对象 72
4.4声明带参数的方法 74
4.5实例变量和属性 77
4.6带属性的UML类框图 80
4.7带属性和set与get访问方法的软件工程 80
4.8自实现属性 81
4.9值类型与引用类型的比较 81
4.10用构造函数初始化对象 82
4.11浮点数与decimal类型 84
4.12小结 88
第5章 控制语句(1) 95
5.1简介 96
5.2算法 96
5.3伪代码 96
5.4控制结构 96
5.5 if单选择语句 98
5.6 if…else双选择语句 99
5.7 while循环语句 102
5.8制订算法:计数器控制循环 103
5.9制订算法:标记控制循环 106
5.10制订算法:嵌套控制语句 111
5.11复合赋值运算符 115
5.12递增和递减运算符 115
5.13简单类型 117
5.14小结 117
第6章 控制语句(2) 129
6.1简介 130
6.2计数器控制循环的实质 130
6.3 for循环语句 131
6.4使用for语句的例子 133
6.5 do…wwhile循环语句 136
6.6 switch多选择语句 137
6.7 break和continue语句 142
6.8逻辑运算符 144
6.9结构化编程小结 148
6.10小结 151
第7章 方法:深入探究 159
7.1简介 160
7.2 C#的代码包装 160
7.3静态方法,静态变量和Math类 161
7.4声明多参数方法 163
7.5关于方法声明与使用 166
7.6方法调用栈与活动记录 166
7.7实参提升与强制转换 167
7.8NET框架类库 168
7.9案例研究:随机数生成方法 169
7.10案例研究:机会游戏(引入枚举) 172
7.11声明的作用域 176
7.12方法重载 177
7.13可选参数 179
7.14命名参数 180
7.15递归 181
7.16传递实参:按值传递与按引用传递 183
7.17小结 185
第8章 数组 198
8.1简介 199
8.2数组 199
8.3声明和创建数组 200
8.4数组使用举例 200
8.5案例研究:洗牌与发牌模拟 207
8.6 foreach语句 210
8.7将数组和数组元素传入方法 211
8.8按值与按引用传递数组 213
8.9案例研究:GradeBook类用数组保存成绩 215
8.10多维数组 219
8.11案例研究:使用矩形数组的GradeBook类 222
8.12变长实参表 226
8.13使用命令行实参 227
8.14小结 228
第9章LINQ和List集合简介 244
9.1简介 245
9.2用LINQ查询int数组 245
9.3用LINQ查询Employee对象数组 248
9.4集合介绍 251
9.5用LINQ查询泛型集合 253
9.6小结 254
9.7 Deitel的LINQ资源中心 255
第10章 类与对象:深入探究 259
10.1简介 260
10.2 Time类案例研究 260
10.3控制对成员的访问 263
10.4用this引用访问当前对象的成员 263
10.5 Time类案例研究:重载构造函数 265
10.6默认构造函数和无参数构造函数 269
10.7合成 269
10.8内存回收与析构函数 272
10.9静态类成员 272
10.10 readonly实例变量 275
10.11数据抽象与封装 275
10.12 Class View与Object Browser 276
10.13对象初始化器 277
10.14小结 278
第11章 面向对象编程:继承 284
11.1简介 285
11.2基类与派生类 285
11.3 protected成员 287
11.4基类与派生类的关系 287
11.5派生类的构造函数 303
11.6继承与软件工程 304
11.7 object类 304
11.8小结 305
第12章 面向对象编程:多态,接口和运算符重载 310
12.1简介 311
12.2多态举例 312
12.3演示多态行为 312
12.4抽象类和方法 314
12.5案例研究:使用多态的工资系统 316
12.6 sealed方法和类 326
12.7案例研究:创建和使用接口 327
12.8运算符重载 333
12.9小结 336
第13章 异常处理:深入探究 340
13.1简介 341
13.2例子:除数为0不用异常处理 341
13.3例子:处理DivideByZeroException异常和FormatException异常 343
13.4NET的Exception层次 346
13.5 fiinally语句块 347
13.6 using语句 352
13.7 Exception属性 353
13.8用户定义异常类 356
13.9小结 358
第14章 图形用户界面与Windows窗体(1) 362
14.1简介 363
14.2 Windows窗体 363
14.3事件处理 365
14.4控件的属性和布局 369
14.5卷标,文本框和按钮 372
14.6组框和面板 374
14.7复选框和单选钮 375
14.8图形框 381
14.9工具提示 383
14.10数字上下控件 384
14.11鼠标事件处理 385
14.12键盘事件处理 387
14.13小结 389
第15章 图形用户界面与Windows窗体(2) 398
15.1简介 399
15.2菜单 399
15.3 MonthCalendar控件 405
15.4 DateTimePicker控件 405
15.5 LinkLabel控件 407
15.6 ListBox控件 410
15.7 CheckedListBox控件 412
15.8 ComboBox控件 414
15.9 TreeView控件 417
15.10 ListView控件 420
15.11 TabControl控件 424
15.12多文档界面(MDI)窗口 427
15.13可视化继承 432
15.14用户定义的控件 435
15.15小结 438
第16章 字符串和字符 445
16.1简介 446
16.2字符和字符串基础 446
16.3 string构造函数 447
16.4 string索引器、Length属性和CopyTo方法 448
16.5字符串比较 449
16.6定位字符串中的字符和子串 451
16.7抽取字符串中的子串 453
16.8拼接字符串 453
16.9其他的string方法 454
16.10 StnngBuilder类 455
16.11 StringBuilder类的Length属性、Capaciry属性、EnsureCapacity方法以及索引器 456
16.12 StringBuilder类的Append方法和AppendFormat方法 457
16.13 StringBuilder类的Insert、Remove和Replace方法 458
16.14几个Char方法 460
16.15(在线)正则表达式处理简介 462
16.16小结 462
第17章 文件和流 468
17.1简介 469
17.2数据层次 469
17.3文件和流 470
17.4 File类和Directory类 471
17.5创建顺序访问文本文件 477
17.6从顺序访问文本文件读取数据 484
17.7案例研究:信用查询程序 487
17.8序列化 491
17.9用对象序列化创建顺序访问文件 491
17.10从二进制文件读取和去序列化数据 494
17 11小结 496
第18章 数据库和LINQ 502
18.1简介 503
18.2关系数据库 503
18.3 Books数据库 504
18.4 LINQ to SQL 506
18.5用LINQ查询数据库 507
18.6动态绑定查询结果 512
18.7用LINQ取得来自于多个表的数据 514
18.8创建主/细视图程序 518
18.9地址簿案例研究 522
18.10工具和Web资源 526
18.11小结 526
第19章Web程序开发与ASP.NET 531
19.1简介 532
19.2 Web基础 532
19.3多层程序体系结构 533
19.4第一个Web程序 534
19.5标准的Web控件:设计Web窗体 541
19.6验证控件 544
19.7会话跟踪 549
19.8案例研究:数据库驱动的ASP.NET来宾簿程序 555
19.9在线案例研究:ASP.NET Ajax 559
19.10在线案例研究:受口令保护的图书数据库程序 560
19.11小结 560
第20章 搜索与排序 566
20.1简介 567
20.2搜索算法 567
20.3排序算法 573
20.4搜索算法和排序算法的效率小结 583
20.5小结 583
第21章 数据结构 588
21.1简介 589
21.2简单类型struct,装箱和拆箱 589
21.3自引用类 589
21.4链表 590
21.5栈 598
21.6队列 601
21.7树 604
21.8小结 613
第22章 泛型 618
22.1简介 619
22.2泛型方法的由来 619
22.3泛型方法的实现 621
22.4类型约束 622
22.5重载泛型方法 624
22.6泛型类 625
22.7小结 631
第23章 集合 635
23.1简介 636
23.2集合概述 636
23.3 Array类和枚举器 637
23.4非泛型集合 640
23.5泛型集合 648
23.6泛型类型的协变和逆变 652
23.7小结 654
在线章节 660
附录A运算符优先级表 661
附录B简单类型 663
附录C ASCⅡ字符集 664
在线附录 665
索引 666