图书介绍
C#本质论 原书第4版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- (美)米凯利斯,(美)利珀特著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115336750
- 出版时间:2014
- 标注页数:652页
- 文件大小:102MB
- 文件页数:677页
- 主题词:C语言-程序设计
PDF下载
下载说明
C#本质论 原书第4版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章C#概述1
1.1 Hello, World1
1.2 C#语法基础3
1.2.1 C#关键字3
1.2.2标识符4
1.2.3类型定义5
1.2.4 Main6
1.2.5语句和语句分隔符7
1.2.6空白8
1.2.7使用变量8
1.2.8数据类型9
1.2.9变量的声明9
1.2.10变量的赋值10
1.2.11变量的使用11
1.3控制台输入和输出11
1.3.1从控制台获取输入11
1.3.2将输出写入控制台12
1.3.3注释14
1.3.4托管执行和公共语言基础结构16
1.3.5 C#和.NET版本17
1.3.6 CIL和ILDASM18
1.4小结20
第2章 数据类型21
2.1基本数值类型21
2.1.1整数类型22
2.1.2浮点类型23
2.1.3 decimal类型23
2.1.4字面值24
2.2更多基本类型27
2.2.1布尔类型27
2.2.2字符类型27
2.2.3字符串29
2.3 null和void34
2.3.1 null34
2.3.2 void35
2.4类型的分类37
2.4.1值类型37
2.4.2引用类型37
2.5可空修饰符38
2.6数据类型之间的转换39
2.6.1显式转型39
2.6.2隐式转型41
2.6.3不使用转型操作符的类型转换42
2.7数组43
2.7.1数组的声明44
2.7.2数组的实例化和赋值45
2.7.3数组的使用48
2.7.4字符串作为数组使用52
2.7.5常见数组错误53
2.8小结55
第3章 操作符和控制流57
3.1操作符57
3.1.1一元操作符正和负58
3.1.2二元算术操作符58
3.1.3复合赋值操作符64
3.1.4递增和递减操作符65
3.1.5常量表达式和常量符号68
3.2控制流程概述69
3.2.1 if语句70
3.2.2嵌套if71
3.3代码块73
3.4代码块、作用域和声明空间74
3.5布尔表达式76
3.5.1关系操作符和相等性操作符77
3.5.2逻辑布尔操作符77
3.5.3逻辑求反操作符78
3.5.4条件操作符79
3.5.5空接合操作符80
3.6按位操作符80
3.6.1移位操作符81
3.6.2按位操作符82
3.6.3按位赋值操作符83
3.6.4按位取反操作符84
3.7控制流语句(续)84
3.7.1 while和do/while循环84
3.7.2 for循环86
3.7.3 foreach循环88
3.7.4 switch语句90
3.8跳转语句92
3.8.1 break语句92
3.8.2 continue语句94
3.8.3 goto语句95
3.9 C#预处理指令97
3.9.1排除和包含代码98
3.9.2定义预处理符号98
3.9.3生成错误和警告99
3.9.4关闭警告消息99
3.9.5 nowarn:〈warn list〉选项99
3.9.6指定行号100
3.9.7可视编辑器提示100
3.10小结101
第4章 方法和参数103
4.1方法的调用104
4.1.1命名空间105
4.1.2类型名称106
4.1.3作用域107
4.1.4方法名称107
4.1.5形参和实参107
4.1.6方法返回值107
4.1.7语句与方法调用的比较108
4.2方法的声明108
4.2.1形式参数声明109
4.2.2方法返回类型声明110
4.3 using指令111
4.4 Main()的返回值和参数114
4.5方法的参数116
4.5.1值参数116
4.5.2引用参数(ref)117
4.5.3输出参数(out)118
4.5.4参数数组120
4.6递归122
4.7方法重载124
4.8可选参数126
4.9用异常实现基本错误处理129
4.9.1捕捉错误130
4.9.2使用throw语句报告错误136
4.10小结138
第5章类139
5.1类的定义和实例化141
5.2实例字段144
5.2.1实例字段的声明144
5.2.2实例字段的访问144
5.3实例方法145
5.4使用this关键字146
5.5访问修饰符151
5.6属性153
5.6.1属性的声明154
5.6.2自动实现的属性155
5.6.3属性和字段的设计编码规范157
5.6.4提供属性验证157
5.6.5只读和只写属性159
5.6.6为取值方法和赋值方法指定访问修饰符160
5.6.7属性作为虚字段使用161
5.6.8属性和方法调用不允许作为ref或out参数值使用163
5.7构造器164
5.7.1构造器的声明164
5.7.2默认构造器165
5.7.3对象初始化器166
5.7.4构造器的重载167
5.7.5构造器链:使用this调用另一个构造器168
5.8静态成员172
5.8.1静态字段172
5.8.2静态方法174
5.8.3静态构造器175
5.8.4静态属性176
5.8.5静态类177
5.9扩展方法178
5.10封装数据179
5.10.1 const179
5.10.2 readonly180
5.11嵌套类181
5.12分部类183
5.12.1定义分部类183
5.12.2分部方法184
5.13小结186
第6章 继承187
6.1派生188
6.1.1基类型和派生类型之间的转型190
6.1.2private访问修饰符191
6.1.3 protected访问修饰符192
6.1.4扩展方法193
6.1.5单继承194
6.1.6密封类195
6.2基类的重写196
6.2.1 virtual修饰符196
6.2.2 new修饰符199
6.2.3 sealed修饰符202
6.2.4 base成员203
6.2.5构造器204
6.3抽象类204
6.4所有类都从System.Object派生208
6.5使用is操作符验证基础类型209
6.6使用as操作符进行转换210
6.7小结211
第7章 接口213
7.1接口概述213
7.2通过接口实现多态性215
7.3接口实现218
7.3.1显式成员实现220
7.3.2隐式成员实现221
7.3.3显式接口实现与隐式接口实现的比较221
7.4在实现类和接口之间转换222
7.5接口继承222
7.6多接口继承224
7.7接口上的扩展方法225
7.8通过接口实现多继承226
7.9版本控制228
7.10接口与类的比较229
7.11接口与特性的比较230
7.12小结230
第8章 值类型231
8.1结构231
8.1.1结构的初始化235
8.1.2 default操作符的使用237
8.1.3值类型的继承和接口237
8.2装箱238
8.3枚举243
8.3.1枚举之间的类型兼容性246
8.3.2枚举和字符串之间的转换246
8.3.3枚举作为标志使用248
8.4小结251
第9章 良构类型253
9.1重写object的成员253
9.1.1重写ToString()253
9.1.2重写GetHashCode()254
9.1.3重写Equals()256
9.2操作符重载263
9.2.1比较操作符264
9.2.2二元操作符265
9.2.3赋值与二元操作符的结合266
9.2.4条件逻辑操作符266
9.2.5一元操作符267
9.2.6转换操作符268
9.2.7转换操作符的规范269
9.3引用其他程序集269
9.3.1更改程序集目标270
9.3.2引用程序集270
9.3.3类型封装271
9.4定义命名空间272
9.5 XML注释275
9.5.1将XML注释与代码构造关联到一起275
9.5.2生成XML文档文件277
9.6垃圾回收278
9.7资源清理280
9.7.1终结器280
9.7.2使用using语句进行确定性终结282
9.7.3垃圾回收、终结和IDisposable284
9.8推迟初始化286
9.9小结288
第10章 异常处理289
10.1多异常类型289
10.2捕捉异常291
10.3常规catch块293
10.4异常处理的规范295
10.5定义自定义异常297
10.6封装异常并重新引发299
10.7小结302
第11章 泛型303
11.1如果C#没有泛型303
11.2泛型类型概述307
11.2.1泛型类的使用308
11.2.2简单泛型类的定义309
11.2.3泛型的优点310
11.2.4类型参数命名规范310
11.2.5泛型接口和结构311
11.2.6构造器和终结器的定义313
11.2.7默认值的指定313
11.2.8多个类型参数314
11.2.9元数315
11.2.10嵌套泛型类型316
11.3约束317
11.3.1接口约束319
11.3.2类类型约束320
11.3.3 struct/class约束321
11.3.4多个约束321
11.3.5构造器约束322
11.3.6约束继承323
11.4泛型方法327
11.4.1泛型方法类型推断328
11.4.2约束的指定328
11.5协变性和逆变性330
11.5.1在C# 4.0中使用out类型参数修饰符允许协变性331
11.5.2在C# 4.0中使用in类型参数修饰符允许逆变性332
11.5.3数组对不安全协变性的支持335
11.6泛型的内部机制335
11.6.1基于值类型的泛型的实例化336
11.6.2基于引用类型的泛型的实例化337
11.7小结338
第12章 委托和Lambda表达式339
12.1委托概述340
12.1.1背景340
12.1.2委托数据类型341
12.1.3委托类型的声明342
12.1.4委托的实例化343
12.2 Lambda表达式347
12.2.1语句Lambda347
12.2.2表达式Lambda349
12.3匿名方法351
12.4通用的委托:System.Func和System.Action352
12.4.1委托没有结构相等性353
12.4.2外部变量355
12.4.3表达式树359
12.5小结364
第13章 事件365
13.1使用多播委托来编码Observer模式366
13.1.1定义订阅者方法366
13.1.2定义发布者367
13.1.3连接发布者和订阅者368
13.1.4调用委托368
13.1.5检查null值369
13.1.6委托操作符370
13.1.7顺序调用371
13.1.8错误处理374
13.1.9方法返回值和传引用376
13.2事件376
13.2.1事件的作用376
13.2.2事件的声明378
13.2.3编码规范379
13.2.4泛型和委托380
13.2.5自定义事件的实现383
13.3小结384
第14章 支持标准查询操作符的集合接口385
14.1匿名类型和隐式类型的局部变量声明386
14.1.1匿名类型386
14.1.2隐式类型的局部变量387
14.1.3匿名类型和隐式局部变量的更多注意事项388
14.2集合初始化器390
14.3是什么使类成为集合:IEnumerable〈T〉392
14.3.1 foreach和数组392
14.3.2 foreach和IEnumerable〈T〉393
14.3.3 foreach循环内不要修改集合396
14.4标准查询操作符397
14.4.1使用Where()来筛选400
14.4.2使用Select()来投射401
14.4.3使用Count()对元素进行计数403
14.4.4推迟执行404
14.4.5使用OrderBy()和ThenBy()来排序408
14.4.6使用Join()来执行内部联接412
14.4.7使用GroupBy分组结果415
14.4.8使用GroupJoin()实现一对多关系416
14.4.9调用Selectmany()418
14.4.10更多标准查询操作符420
14.5小结423
第15章使用查询表达式的LINQ425
15.1查询表达式概述426
15.1.1投射427
15.1.2筛选432
15.1.3排序433
15.1.4 let子句434
15.1.5分组435
15.1.6使用into进行查询延续437
15.1.7用多个from子句“平整”序列的序列438
15.2查询表达式作为方法调用439
15.3小结440
第16章 构建自定义集合441
16.1更多集合接口442
16.1.1IList〈T〉与IDictionary 〈TKey, TValue〉442
16.1.2 ICollection〈T〉443
16.2主要集合类443
16.2.1列表集合:List〈T〉443
16.2.2全序446
16.2.3搜索List〈T〉447
16.2.4字典集合:Dictionary 〈TKey, TValue〉449
16.2.5已排序集合:SortedDictionary〈TKey,TValue〉和SortedList〈T〉453
16.2.6栈集合:Stack〈T〉454
16.2.7队列集合:Queue〈T〉455
16.2.8链表:LinkedList〈T〉456
16.3提供索引器456
16.4返回null或者空集合459
16.5迭代器459
16.5.1迭代器的定义460
16.5.2迭代器语法460
16.5.3从迭代器生成值461
16.5.4迭代器和状态463
16.5.5更多的迭代器例子464
16.5.6将yield return语句放到循环中465
16.5.7取消更多的迭代:yield break467
16.5.8在单个类中创建多个迭代器469
16.5.9 yield语句的要求470
16.6小结470
第17章反射、特性和动态编程471
17.1反射471
17.1.1使用System.Type访问元数据472
17.1.2成员调用473
17.1.3泛型类型上的反射478
17.2特性479
17.2.1自定义特性482
17.2.2查找特性483
17.2.3使用构造器来初始化特性484
17.2.4 System.AttributeUsage- Attribute488
17.2.5命名参数488
17.3使用动态对象进行编程498
17.3.1使用dynamic调用反射499
17.3.2 dynamic的原则和行为500
17.3.3为什么需要动态绑定501
17.3.4静态编译与动态编程的比较502
17.3.5实现自定义动态对象503
17.4小结505
第18章多线程处理507
18.1多线程基础509
18.2使用System.Threading512
18.2.1使用System.Threading. Thread进行异步操作512
18.2.2线程管理514
18.2.3在生产代码中不要让线程进入睡眠514
18.2.4在生产代码中不要中止线程515
18.2.5线程池处理516
18.3异步任务517
18.3.1从Thread到Task518
18.3.2理解异步任务518
18.3.3任务延续521
18.3.4用AggregateException处理Task上的未处理异常525
18.4取消任务530
18.4.1 Task.Run()是Task.Factory. StartNew()的简化形式532
18.4.2长时间运行的任务532
18.4.3对任务进行资源清理533
18.5 C# 5.0基于任务的异步模式533
18.5.1以同步方式调用高延迟操作534
18.5.2使用TPL异步调用高延迟操作535
18.5.3通过async和await实现基于任务的异步模式538
18.5.4异步Lambda541
18.5.5任务调度器和同步上下文546
18.5.6 async/await和Windows UI547
18.5.7 await操作符548
18.6并行迭代549
18.7并行执行LINQ查询556
18.8小结560
第19章线程同步561
19.1为什么要同步562
19.1.1使用Monitor来同步565
19.1.2使用lock关键字567
19.1.3 lock对象的选择568
19.1.4为什么要避免锁定this、 typeof (type)和string569
19.1.5将字段声明为volatile570
19.1.6使用System.Threading.Interlocked类570
19.1.7多个线程时的事件通知571
19.1.8同步设计最佳实践572
19.1.9更多的同步类型573
19.1.10线程本地存储580
19.2计时器583
19.3小结584
第20章 平台互操作性和不安全的代码585
20.1在C#中使用WinRT库586
20.1.1具有自定义Add/Remove处理程序的WinRT事件586
20.1.2自动变换的接口587
20.1.3基于任务的异步587
20.2平台调用588
20.2.1外部函数的声明588
20.2.2参数的数据类型588
20.2.3使用ref而不是指针590
20.2.4为顺序布局使用StructLayoutAttribute590
20.2.5错误处理591
20.2.6使用SafeHandle593
20.2.7外部函数的调用595
20.2.8用包装器简化API调用597
20.2.9函数指针映射到委托598
20.2.10编码规范598
20.3指针和地址598
20.3.1不安全的代码598
20.3.2指针的声明599
20.3.3指针的赋值600
20.3.4指针的解引用602
20.3.5访问被引用物类型的成员604
20.3.6通过委托执行不安全的代码604
20.4小结606
第21章CLI607
21.1 CLI的定义607
21.2 CLI实现608
21.3 C#编译成机器码609
21.4运行时611
21.4.1垃圾回收611
21.4.2.NET的垃圾回收611
21.4.3类型安全612
21.4.4代码访问安全性612
21.4.5平台可移植性612
21.4.6性能613
21.5应用程序域614
21.6程序集、清单和模块614
21.7公共中间语言616
21.8公共类型系统616
21.9公共语言规范617
21.10基类库617
21.11元数据617
21.12小结618
附录A下载和安装C#编译器与CLI平台619
附录B井字棋源代码清单621
附录CTPL和C# 5.0之前的多线程模式627
附录D C#5.0 async/await模式之前的计时器649
热门推荐
- 1700337.html
- 1503334.html
- 2877624.html
- 753797.html
- 305488.html
- 3568913.html
- 96339.html
- 2838634.html
- 1720995.html
- 1927459.html
- http://www.ickdjs.cc/book_1746398.html
- http://www.ickdjs.cc/book_1452407.html
- http://www.ickdjs.cc/book_3200580.html
- http://www.ickdjs.cc/book_1676015.html
- http://www.ickdjs.cc/book_2359268.html
- http://www.ickdjs.cc/book_3634846.html
- http://www.ickdjs.cc/book_159448.html
- http://www.ickdjs.cc/book_2837116.html
- http://www.ickdjs.cc/book_1571086.html
- http://www.ickdjs.cc/book_885244.html