learninghardc#学笔记编程语言李志pdf下载pdf下载

learninghardc#学笔记编程语言李志百度网盘pdf下载

作者:
简介:本篇主要提供learninghardc#学笔记编程语言李志pdf下载
出版社:智胜图书专营店
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

基本信息
书名: learning hard c#学笔记 ISBN号: 9787115382924
作者: 李志 著 页数: 291
定价: 49.00元 出版时间: 2015-02-01
装帧: 平装 印刷时间: 2015-03-03
出版社: 人民邮电出版社 版次: 1
开本: 16开 字数: 448.00千字

目录

章你真的了解c#吗1
1.1什么是c#1
1.1.1c#语言的发展历程1
1.1.2c#能编写哪些应用程序3
1.2什么是.framework5
1.2.1.framework的组成5
1.2.2c#与.framework的关系7
1.2.3c#代码的执行过程8
1.3归纳结9
第2章来点c#的感觉10
2.1开发环境的搭建10
2.2创建“欢迎你”应用程序13
2.2.1创建控制台项目13
2.2.2编译和运行程序15
2.2.3对程序行调试18
2.3归纳结19
第3章打开c#的大门——c#语言基础20
3.1标识符和关键字20
3.1.1标识符20
3.1.2关键字21
3.2基础数据类型22
3.2.1数值类型22
3.2.2字符串类型23
3.2.3枚举类型24
3.2.4结构体类型25
3.2.5数组类型25
3.3变量和常量26
3.3.1变量的使用27
3.3.2变量的作用域27
3.3.3常量27
3.4运算符和表达式28
3.4.1运算符28
3.4.2运算符优先级28
3.4.3运算符重载29
3.4.4表达式31
3.5c#中的语句31
3.5.1条件语句31
3.5.2循环语句34
3.5.3跳转语句37
3.6归纳结39
第4章c#中的类40
4.1什么是类40
4.2c#中如何定义一个类40
4.3类的成员41
4.3.1字段41
4.3.2属性42
4.3.3方45
4.3.4构造函数48
4.3.5析构函数52
4.3.6索引器52
4.4类实例化54
4.5类与结构体的区别55
4.6归纳结57
第5章先需要明确的——c#中的面向对象编程58
5.1封装58
5.2继承59
5.2.1c#中的继承60
5.2.2密封类61
5.2.3子类的初始化顺序61
5.3多态62
5.3.1使用virtual和override关键字实现方重写63
5.3.2阻止派生类重写虚成员65
5.3.3使用新成员隐藏基类成员65
5.4所有类的父类:system.object67
5.5归纳结67
第6章电脑有usb接,c#也有接68
6.1什么是接68
6.2如何使用接来编程68
6.2.1接的定义68
6.2.2继承接70
6.2.3调用接中的方71
6.3显式接实现方式72
6.4接与抽象类76
6.5面向对象编程的应用76
6.6归纳结79
第7章透过外表看本质——il语言80
7.1什么是il80
7.2先睹为快——从“helloworld”看il80
7.2.1工具的介绍80
7.2.2使用工具查看il代码80
7.3教你看懂il代码85
7.3.1il基本类型85
7.3.2变量的声明86
7.3.3基本运算86
7.3.4il中的流程控制87
7.4归纳结88
第8章正式入c#的世界——委托89
8.1c#委托是什么89
8.2委托的使用90
8.3为什么要引入委托91
8.4委托的本质93
8.5委托链96
8.5.1委托链的使用96
8.5.2从委托链中移除委托97
8.6归纳结98
第9章事件揭秘99
9.1什么是事件99
9.2使用事件99
9.2.1如何定义事件99
9.2.2订阅和取消事件100
9.2.3扩展eventargs类104
9.3事件的本质106
9.4归纳结108
0章深入理解类型109
10.1c#中的类型——值类型和引用类型109
10.1.1什么是值类型和引用类型109
10.1.2值类型与引用类型的区别110
10.1.3两大类型间的转换——装箱与拆箱113
10.2参数传递问题剖析116
10.2.1值类型参数的按值传递116
10.2.2引用类型参数的按值传递118
10.2.3string引用类型参数按值传递的特殊情况119
10.2.4值类型和引用类型参数的按引用传递121
10.3归纳结122
1章使类型参数化——泛型123
11.1泛型是什么123
11.2c#2.0为什么要引入泛型124
11.3全面解析泛型128
11.3.1类型参数128
11.3.2泛型中的静态字段和静态函数问题129
11.3.3类型参数的推断132
11.3.4类型参数的约束133
11.4归纳结136
2章可空类型、匿名方和迭代器137
12.1可空类型137
12.1.1可空类型简介137
12.1.2你知道空合并作符吗139
12.1.3可空类型的装箱和拆箱作141
12.2匿名方143
12.2.1什么是匿名方143
12.2.2对变量捕捉过程的剖析145
12.3迭代器148
12.3.1迭代器的简介148
12.3.2c#1.0中如何实现迭代器148
12.3.3c#2.0简化了迭代器的实现150
12.3.4迭代器的执行过程153
12.4归纳结153
3章c#的春天——c#3.0中智能的编译器154
13.1自动实现的属性154
13.2隐式类型156
13.2.1隐式类型的局部变量156
13.2.2隐式类型数组158
13.3对象集合初始化器159
13.4匿名类型162
13.5归纳结165
4章不一样的编码风格——lambda表达式166
14.1lambda表达式简介166
14.1.1lambda表达式的演变过程166
14.1.2lambda表达式的使用167
14.2表达式也有树结构——表达式树169
14.2.1动态地构造一个表达式树170
14.2.2通过lambda表达式来构造表达式树171
14.2.3如何把表达式树转换成可执行代码172
14.3归纳结173
5章使类的扩展更简单——扩展方174
15.1什么是扩展方174
15.2扩展方的使用174
15.2.1定义扩展方174
15.2.2调用扩展方177
15.3编译器如何发现扩展方177
15.4空引用也可调用扩展方182
15.4.1拿例子说话182
15.4.2空引用上调用扩展方揭秘183
15.5归纳结184
6章数据作soeasy——linq解析185
16.1linq是什么185
16.2linq好在哪里186
16.2.1查询表达式186
16.2.2使用linqtoobjects查询集合187
16.2.3使用linqtoxml查询xml文件188
16.3理解linq的本质191
16.4归纳结193
7章小改动大作为——c#4.0中的改动194
17.1可选参数和命名实参194
17.1.1可选参数194
17.1.2命名实参195
17.1.3互作的福音196
17.2泛型的可变性198
17.2.1协变性198
17.2.2逆变性199
17.2.3协变和逆变的注意事项200
17.3归纳结201
8章静中有动——动态类型202
18.1动态类型简介202
18.2c#为什么要引入动态类型202
18.2.1可以减少强制类型转换的使用203
18.2.2调用python等动态语言203
18.3动态类型约束203
18.3.1不能用来调用扩展方203
18.3.2委托与动态类型间不能做隐式转换204
18.3.3不能调用构造函数和静态方204
18.3.4类型声明和泛型类型参数204
18.4实现自己的动态行为204
18.4.1使用expandoobject来实现动态行为205
18.4.2使用dynamicobject来实现动态行为205
18.4.3使用idynamicmetaobject—provider接来实现动态行为206
18.5归纳结207
9章你必须掌握的多线程编程208
19.1多线程编程知识208
19.1.1程与线程的概念208
19.1.2线程的调度209
19.1.3线程也分前后台210
19.2线程的容器——线程池213
19.2.1线程池213
19.2.2通过线程池来实现多线程214
19.2.3协作式取消线程池线程215
19.3线程同步216
19.3.1多线程程序中存在的隐患216
19.3.2使用监视器对象实现线程同步218
19.3.3线程同步技术存在的问题221
19.4归纳结222
第20章不得不说的异步编程223
20.1什么是异步编程223
20.2同步方式存在的问题223
20.3异步编程模型(apm)226
20.4异步编程模型——eap231
20.5tap又是什么238
20.6让异步编程soeasy——c#5.0中的asvnc和await242
20.7归纳结245
第21章出师前闯关训练关——文件作246
21.1文件作核心类246
21.1.1file和fileinfo类246
21.1.2directory知directoryinfo类248
21.2流250
21.3对文件行异步作252
21.4归纳结254
第22章出师前闯关训练第二关——网络编程255
22.1网络编程基础知识255
22.1.1网络分层览255
22.1.2各层所使用的协议256
22.1.3网络程序的工作机制257
22.2基于tcp的网络程序的实现258
22.2.1tcp的工作过程258
22.2.2基于tcp的简单通信程序的实现260
22.3基于udp的网络程序的实现272
22.3.1udp的工作272
22.3.2udp的优势274
22.3.3基于udp的简单通信程序的实现274
22.4归纳结278
第23章出师前闯关训练后一关——使用gdi+实现属于你的截图工具279
23.1前期准备279
23.1.1什么是gdi+279
23.1.2笔、画笔和颜279
23.2动手实现你的截图工具281
23.2.1实现思路281
23.2.2瞧瞧终结果290
23.3归纳结291

内容简介

本书是一本面向c#初学者的实用教程。从开发基础开始,由浅入深地讲解了c#的基础语和重要特性,分析了在开发中必须掌握的技术要领和经验心得。语言轻松幽默,通过精心选择的实例和详尽的代码全面介绍了c#拥有特的关键知识点,有助于初学者迅速从一个c#开发的门外汉成长为全面掌握技术要领的开发人员。
本书适合c#和.初学者、web开发工程师以及计算机专业的学生阅读。

作者介绍

李志,网名learning hard,资历软件开发工程师,微软c#方向的mvp,有着丰富的.开发经验。2012年5月开始在博客园发表.技术相关文章,获得了大量园友的,博客园排名跻身前50名。