图书介绍
新手学C# 3.0 第3版PDF|Epub|txt|kindle电子书版本网盘下载
![新手学C# 3.0 第3版](https://www.shukui.net/cover/43/33256720.jpg)
- (美)Herbert Schildt著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302214335
- 出版时间:2010
- 标注页数:586页
- 文件大小:33MB
- 文件页数:598页
- 主题词:C语言-程序设计
PDF下载
下载说明
新手学C# 3.0 第3版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 C#基础1
1.1 C#家族树2
1.1.1 C语言:现代编程的开端2
1.1.2 OOP与C++的产生2
1.1.3 Internet与Java的出现3
1.1.4 C#的产生4
1.2 C#的发展5
1.3 C#与.NET Framework的关系6
1.3.1 .NET Framework的定义6
1.3.2 公共语言运行库的工作方式6
1.3.3 托管与非托管代码7
1.3.4 公共语言规范7
1.4 面向对象编程8
1.4.1 封装8
1.4.2 多态性9
1.4.3 继承9
1.5 创建、编译和运行第一个C#程序10
1.5.1 获得C#3.0编译器11
1.5.2 使用Visual Studio IDE11
1.5.3 使用C#命令行编译器csc.exe15
1.6 逐行分析第一个样本程序16
1.7 处理语法错误18
1.8 程序变体19
1.9 使用变量19
1.10 double数据类型22
1.11 两种控制语句25
1.11.1 if语句25
1.11.2 for循环27
1.12 使用代码块29
1.13 分号和定位30
1.14 C#关键字32
1.15 标识符33
1.16 C#类库34
第2章 数据类型与运算符简介37
2.1 数据类型重要的原因38
2.2 C#的值类型38
2.3 浮点类型41
2.4 decimal类型42
2.5 字符43
2.6 bool类型44
2.7 一些输出选项45
2.8 字面值48
2.8.1 十六进制字面值49
2.8.2 字符转义序列49
2.8.3 字符串字面值50
2.9 详细介绍变量52
2.9.1 初始化变量52
2.9.2 动态初始化53
2.9.3 隐式类型变量53
2.10 变量的作用域和生命周期55
2.11 运算符58
2.12 算术运算符58
2.13 关系与逻辑运算符61
2.14 赋值运算符66
2.14.1 复合赋值66
2.14.2 赋值中的类型转换67
2.15 强制转换不兼容的类型68
2.16 运算符优先级70
2.17 表达式中的类型转换70
第3章 程序控制语句77
3.1 从键盘输入字符78
3.2 if语句79
3.2.1 嵌套if80
3.2.2 if-else-if梯次81
3.3 switch语句82
3.4 for循环89
3.4.1 for循环的一些变体91
3.4.2 在for循环内声明循环控制变量94
3.5 while循环95
3.6 do-while循环96
3.7 使用break退出循环101
3.8 使用continue103
3.9 goto104
3.10 嵌套循环109
第4章 类、对象及方法113
4.1 类的基础知识114
4.1.1 类的一般形式114
4.1.2 定义类115
4.2 创建对象的方式119
4.3 引用变量与赋值120
4.4 方法120
4.4.1 向Vehicle类中添加方法121
4.4.2 从方法返回123
4.4.3 返回值124
4.4.4 使用形参126
4.4.5 向Vehicle中添加一个参数化方法128
4.5 构造函数135
4.5.1 参数化构造函数136
4.5.2 向Vehicle类中添加一个构造函数137
4.6 再次介绍new运算符139
4.7 垃圾收集与析构函数139
4.8 this关键字140
第5章 更多数据类型与运算符145
5.1 数组146
5.2 多维数组152
5.2.1 二维数组152
5.2.2 三维或多维数组153
5.2.3 初始化多维数组153
5.3 交错数组154
5.4 数组引用赋值156
5.5 使用数组的Length属性157
5.6 创建隐式类型数组160
5.7 foreach循环164
5.8 字符串167
5.8.1 构造string167
5.8.2 对字符串进行操作168
5.8.3 字符串的数组170
5.8.4 字符串是不可变的171
5.9 按位运算符172
5.9.1 按位AND、OR、XOR和NOT运算符173
5.9.2 移位运算符177
5.9.3 按位复合赋值179
5.10 “?”运算符182
第6章 详细介绍方法与类187
6.1 控制对类成员的访问权限188
6.2 向方法传递对象引用194
6.3 使用ref和out形参197
6.3.1 使用ref198
6.3.2 使用out199
6.4 使用可变数量的实参202
6.5 返回对象204
6.6 方法重载206
6.7 重载构造函数212
6.8 Main()方法218
6.8.1 从Main()中返回值218
6.8.2 向Main()传递实参219
6.9 递归221
6.10 理解static222
6.11 static构造函数和类225
第7章 运算符重载、索引器及属性231
7.1 运算符重载232
7.1.1 operator方法的一般形式232
7.1.2 重载二元运算符233
7.1.3 重载一元运算符235
7.1.4 增加灵活性239
7.1.5 重载关系运算符244
7.1.6 关于运算符重载的提示与限制246
7.2 索引器247
7.2.1 多维索引器252
7.2.2 索引器限制254
7.3 属性254
7.3.1 自动实现属性258
7.3.2 属性限制259
7.4 使用带存取器的访问修饰符259
第8章 继承271
8.1 继承基础知识272
8.2 成员访问和继承275
8.3 使用受保护访问278
8.4 构造函数与继承279
8.5 继承与名称隐藏285
8.6 使用base访问隐藏名称286
8.7 创建多层层次结构291
8.8 何时调用构造函数294
8.9 基类引用和派生对象295
8.10 虚方法与重写298
8.10.1 重写方法的原因301
8.10.2 应用虚方法301
8.11 使用抽象类304
8.12 使用sealed关键字防止继承308
8.13 obiect类309
第9章 接口、结构与枚举315
9.1 接口316
9.2 使用接口引用320
9.3 接口属性328
9.4 接口索引器330
9.5 接口可以继承332
9.6 显式实现333
9.7 结构336
9.8 枚举338
9.8.1 初始化枚举340
9.8.2 指定枚举的底层类型340
第10章 异常处理343
10.1 System.Exception类344
10.2 异常处理基础知识344
10.2.1 使用try和catch344
10.2.2 一个简单的异常示例345
10.2.3 第二个异常示例346
10.3 未捕获异常的后果347
10.4 异常有助于适当地处理错误349
10.5 使用多个catch子句350
10.6 捕获所有异常351
10.7 try块可以嵌套352
10.8 抛出异常353
10.9 使用finally355
10.10 详述异常357
10.11 派生异常类359
10.12 捕获派生类异常361
10.13 使用checked和unchecked366
第11章 使用I/O371
11.1 构建在流基础上的C#I/O372
11.1.1 字节流与字符流372
11.1.2 预先定义的流372
11.2 各种流类372
11.2.1 Stream类373
11.2.2 字节流类374
11.2.3 字符流包装器类374
11.2.4 二进制流376
11.3 控制台I/O376
11.3.1 读取控制台输入376
11.3.2 编写控制台输出378
11.4 FileStream和面向字节的文件I/O379
11.4.1 打开和关闭文件380
11.4.2 从FileStream中读取字节382
11.4.3 写人文件383
11.5 基于字符的文件I/O385
11.5.1 使用StreamWriter386
11.5.2 使用StreamReader388
11.6 重定向标准流389
11.7 读、写二进制数据393
11.7.1 BinaryWriter393
11.7.2 BinaryReader394
11.7.3 说明二进制I/O395
11.8 随机访问文件397
11.9 将数值字符串转换成它们的内部表示399
第12章 委托、事件与名称空间411
12.1 委托412
12.1.1 使用实例方法作为委托415
12.1.2 多播416
12.1.3 为什么使用委托418
12.2 匿名方法419
12.3 事件422
12.3.1 多播事件示例424
12.3.2 通过事件使用匿名方法426
12.4 名称空间428
12.4.1 声明名称空间428
12.4.2 using431
12.4.3 using的第二种形式432
12.4.4 名称空间可以累加433
12.4.5 名称空间可以嵌套434
12.4.6 全局名称空间436
第13章 泛型441
13.1 泛型的概念442
13.2 泛型的基本原理442
13.2.1 基于类型实参的不同泛型类型445
13.2.2 泛型提高类型安全性445
13.3 包含两个类型形参的泛型类448
13.4 约束类型450
13.4.1 使用基类约束451
13.4.2 使用约束在两个类型形参之间建立关系453
13.4.3 使用接口约束454
13.4.4 使用new()构造函数约束456
13.4.5 引用类型约束和值类型约束458
13.4.6 使用多种约束460
13.5 创建类型形参的默认值461
13.6 泛型结构463
13.7 泛型方法464
13.7.1 使用显式类型实参调用泛型方法467
13.7.2 在泛型方法中使用约束467
13.8 泛型委托468
13.9 泛型接口470
第14章 LINQ简介481
14.1 LINQ的定义482
14.2 LINQ的基本原理483
14.2.1 简单查询483
14.2.2 查询可以多次执行485
14.2.3 查询中的数据类型如何关联486
14.2.4 查询的一般形式487
14.3 使用where过滤值488
14.4 使用orderby给结果排序490
14.5 仔细分析select491
14.6 使用group分组结果494
14.7 使用into创建继续496
14.8 使用let在查询中创建变量498
14.9 使用join连接两个序列499
14.10 匿名类型和对象初始化器502
14.11 创建分组连接505
14.12 查询方法和拉姆达表达式508
14.12.1 基本查询方法508
14.12.2 拉姆达表达式509
14.12.3 使用查询方法创建查询510
14.12.4 更多与查询相关的扩展方法512
14.i2.5 延迟查询执行和即时查询执行515
14.13 进一步研究扩展方法516
14.14 进一步研究拉姆达表达式518
14.14.1 表达式拉姆达518
14.14.2 语句拉姆达520
第15章 预处理程序、RTTI、可空类型和其他高级主题525
15.1 预处理程序526
15.1.1 #define526
15.1.2 #if和#endif526
15.1.3 #else和#elif528
15.1.4 #undef530
15.1.5 #error531
15.1.6 #warning531
15.1.7 #line531
15.1.8 #region和#endregion531
15.1.9 #pragma532
15.2 运行时类型标识532
15.2.1 使用is测试类型532
15.2.2 使用as533
15.2.3 使用typeof534
15.3 可空类型534
15.3.1 “??”运算符536
15.3.2 可空对象与关系和逻辑运算符537
15.4 不安全代码538
15.4.1 指针简介538
15.4.2 不安全的关键字540
15.4.3 使用fixed541
15.5 属性542
15.5.1 Conditional属性543
15.5.2 Obsolete属性544
15.6 转换运算符545
15.7 集合简介548
15.7.1 集合的基础知识549
15.7.2 集合示例研究:创建一个动态数组550
15.8 其他关键字555
15.8.1 internal访问修饰符555
15.8.2 sizeof556
15.8.3 lock556
15.8.4 readonly556
15.8.5 stackalloc557
15.8.6 using语句557
15.8.7 const和volatile558
15.8.8 partial修饰符558
15.8.9 yield561
15.8.10 extern561
15.9 展望561
附录A 自测题答案563