图书介绍

C# 4.0图解教程PDF|Epub|txt|kindle电子书版本网盘下载

C# 4.0图解教程
  • (美)索利斯著;苏林等译 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115251831
  • 出版时间:2011
  • 标注页数:469页
  • 文件大小:157MB
  • 文件页数:485页
  • 主题词:C语言-程序设计-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

C# 4.0图解教程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章C#和NET框架1

1.1在NET之前1

1.1.1 20世纪90年代后期的Windows编程1

1.1.2下一代平台服务的目标2

1.2进入Microsoft NET2

1.2.1NET框架的组成2

1.2.2大大改进的编程环境3

1.3编译成CIL5

1.4编译成本机代码并执行5

1.5 CLR6

1.6 CLI7

1.7缩写回顾8

第2章C#编程概述9

2.1一个简单的C#程序9

2.2标识符和关键字11

2.2.1命名约定11

2.2.2关键字12

2.3 Main:程序的起始点12

2.4空白13

2.5语句13

2.5.1简单语句13

2.5.2块14

2.6从程序中输出文本14

2.6.1 Write14

2.6.2 WriteLine15

2.6.3格式字符串15

2.6.4多重标记和值16

2.7注释16

2.7.1关于注释的补充17

2.7.2文档注释17

2.7.3注释类型总结18

第3章 类型、存储和变量19

3.1 C#程序是一组类型声明19

3.2类型是种模板20

3.3实例化类型20

3.4数据成员和函数成员21

3.5预定义类型21

3.6用户定义类型23

3.7栈和堆24

3.7.1栈24

3.7.2堆25

3.8值类型和引用类型25

3.8.1存储引用类型对象的成员26

3.8.2 C#类型的分类27

3.9变量27

3.9.1变量声明27

3.9.2多重变量声明29

3.9.3使用变量的值29

3.10静态类型和dynamic关键字29

3.11 可空类型30

3.11.1创建可空类型30

3.11.2为可空类型赋值31

第4章类:基础32

4.1类的概述32

4.2程序和类:一个快速的示例33

4.3声明类33

4.4类成员34

4.4.1字段34

4.4.2显式和隐式字段初始化35

4.4.3声明多个字段36

4.4.4方法36

4.5创建变量和类的实例37

4.6为数据分配内存37

4.7实例成员38

4.8访问修饰符39

4.9从类的内部访问成员41

4.10从类的外部访问成员42

4.11综合应用43

第5章 方法45

5.1方法的结构45

5.2本地变量47

5.2.1类型推断和var关键字47

5.2.2嵌套块中的本地变量48

5.3本地常量49

5.4方法调用51

5.5返回值52

5.6参数54

5.6.1形参54

5.6.2实参55

5.6.3带位置输入参数的方法示例55

5.7值参数56

5.8引用参数58

5.9输出参数60

5.10参数数组62

5.10.1方法调用63

5.10.2数组作实参65

5.11参数类型总结66

5.12方法重载66

5.13命名参数67

5.14可选参数68

5.15栈帧71

5.16递归72

第6章 类进阶74

6.1类成员74

6.2实例类成员76

6.3静态字段76

6.4从类的外部访问静态成员77

6.4.1静态字段示例77

6.4.2静态成员的生存期78

6.5静态函数成员79

6.6其他静态类成员类型80

6.7成员常量80

6.8属性82

6.8.1属性声明和访问器83

6.8.2属性示例83

6.8.3使用属性84

6.8.4属性和关联字段85

6.8.5执行其他计算86

6.8.6只读和只写属性87

6.8.7计算只读属性示例87

6.8.8属性和数据库示例88

6.8.9属性vs.公共字段88

6.8.10自动实现属性89

6.8.11静态属性89

6.9实例构造函数90

6.9.1带参数的构造函数91

6.9.2默认构造函数92

6.10静态构造函数93

6.10.1静态构造函数示例93

6.10.2构造函数的可访问性94

6.11对象初始化列表94

6.12析构函数95

6.12.1调用析构函数96

6.12.2标准清理模式98

6.13比较构造函数和析构函数99

6.14 readonly修饰符99

6.15 this关键字100

6.16索引101

6.16.1什么是索引102

6.16.2索引和属性102

6.16.3声明索引103

6.16.4索引的set访问器104

6.16.5索引的get访问器104

6.16.6关于索引的补充105

6.16.7为Employee示例声明索引105

6.16.8另一个索引示例106

6.16.9索引重载107

6.17访问器的访问修饰符107

6.18分部类和分部类型109

第7章 类和继承112

7.1类继承112

7.2访问继承的成员113

7.3隐藏基类的成员115

7.4基类访问116

7.5使用基类的引用117

7.5.1虚方法和覆写方法119

7.5.2覆写标记为override的方法120

7.5.3覆盖其他成员类型123

7.6构造函数的执行124

7.6.1构造函数初始化语句125

7.6.2类访问修饰符127

7.7程序集间的继承128

7.8成员访问修饰符129

7.8.1访问成员的区域130

7.8.2公有成员的可访问性131

7.8.3私有成员的可访问性131

7.8.4受保护成员的可访问性132

7.8.5内部成员的可访问性132

7.8.6受保护内部成员的可访问性132

7.8.7成员访问修饰符的总结133

7.9抽象成员133

7.10抽象类134

7.10.1抽象类和抽象方法的示例135

7.10.2抽象类的另一个例子136

7.11密封类137

7.12静态类137

7.13扩展方法138

第8章 表达式和运算符142

8.1表达式142

8.2字面量143

8.3整数字面量144

8.4字符字面量145

8.5字符串字面量146

8.6求值顺序147

8.6.1优先级148

8.6.2结合性148

8.7简单算术运算符149

8.8求余运算符149

8.9关系比较运算符和相等比较运算符150

8.10递增运算符和递减运算符152

8.11条件逻辑运算符153

8.12逻辑运算符154

8.13移位运算符155

8.14赋值运算符157

8.15条件运算符158

8.16一元算术运算符159

8.17用户定义类型转换160

8.18运算符重载162

8.18.1运算符重载的限制163

8.18.2运算符重载的示例164

8.19 typeof运算符165

8.20其他运算符166

第9章 语句167

9.1什么是语句167

9.2表达式语句168

9.3控制流语句169

9.4 if语句169

9.5 if else语句170

9.6 switch语句171

9.6.1分支示例172

9.6.2 switch语句的补充173

9.6.3 switch标签174

9.7 while循环174

9.8 do循环175

9.9 for循环176

9.9.1 for语句中变量的有效范围177

9.9.2初始化语句和迭代表达式中的多表达式178

9.10跳转语句178

9.11 break语句178

9.12 continue语句179

9.13标签语句180

9.13.1标签180

9.13.2标签语句的范围180

9.14 goto语句181

9.15 using语句182

9.15.1资源的包装使用183

9.15.2 using语句的示例183

9.15.3多个资源和嵌套184

9.15.4 using语句的另一种形式185

9.16其他语句186

第10章 命名空间和程序集187

10.1引用其他程序集187

10.2命名空间191

10.2.1命名空间名称194

10.2.2命名空间的补充194

10.2.3命名空间跨文件伸展195

10.2.4嵌套命名空间195

10.3 using指令196

10.3.1 using命名空间指令196

10.3.2 using别名指令197

10.4程序集的结构198

10.5程序集标识符199

10.6强命名程序集200

10.7程序集的私有方式部署201

10.8共享程序集和GAC201

10.8.1把程序集安装到GAC201

10.8.2 GAC内的并肩执行202

10.9配置文件203

10.10延迟签名203

第11章 异常205

11.1什么是异常205

11.2 try语句206

11.3异常类207

11.4 catch子句207

11.4.1使用特定catch子句的示例208

11.4.2 catch子句段209

11.5 finally块210

11.6为异常寻找处理代码211

11.7更进一步搜索211

11.7.1一般法则212

11.7.2搜索调用栈的示例213

11.8 抛出异常214

11.9不带异常对象的抛出215

第12章 结构217

12.1什么是结构217

12.2结构是值类型218

12.3对结构赋值219

12.4构造函数和析构函数220

12.4.1实例构造函数220

12.4.2静态构造函数221

12.4.3构造函数和析构函数的总结221

12.5字段初始化是不允许的222

12.6结构是密封的222

12.7装箱和取消装箱222

12.8结构作为返回值和参数222

12.9关于结构的附加信息222

第13章 枚举224

13.1枚举224

13.1.1设置底层类型和显式值225

13.1.2隐式成员编号226

13.2位标志227

13.2.1 Flags特性229

13.2.2使用位标志的示例230

13.3关于枚举的补充231

第14章 数组233

14.1数组233

14.1.1定义233

14.1.2重要细节234

14.2数组的类型234

14.3数组是对象235

14.4.维数组和矩形数组236

14.5实例化一维数组或矩形数组236

14.6访问数组元素237

14.7初始化数组238

14.7.1显式初始化一维数组238

14.7.2显式初始化矩形数组239

14.7.3初始化矩形数组的语法点239

14.7.4快捷语法240

14.7.5隐式类型数组240

14.7.6综合内容241

14.8交错数组241

14.8.1声明交错数组242

14.8.2快捷实例化242

14.8.3实例化交错数组242

14.8.4交错数组中的子数组243

14.9比较矩形数组和交错数组244

14.10 foreach语句245

14.10.1迭代变量是只读的246

14.10.2 foreach语句和多维数组247

14.11数组协变248

14.12数组继承的有用成员249

14.13比较数组类型252

第15章 委托253

15.1什么是委托253

15.2声明委托类型255

15.3创建委托对象255

15.4赋值委托257

15.5组合委托257

15.6为委托增加方法258

15.7从委托移除方法259

15.8调用委托259

15.9委托的示例260

15.10调用带返回值的委托261

15.11调用带引用参数的委托262

15.12匿名方法262

15.12.1使用匿名方法263

15.12.2匿名方法的语法263

15.12.3变量和参数的作用域265

15.13 Lambda表达式266

第16章 事件269

16.1事件和委托相似269

16.2源代码组件概览270

16.3声明事件271

16.3.1事件是成员271

16.3.2委托类型和EventHandler272

16.4触发事件272

16.5订阅事件273

16.6标准事件的用法275

16.6.1使用EventArgs类275

16.6.2通过扩展EventArgs来传递数据276

16.6.3使用自定义委托276

16.7 MyTimerClass代码278

16.8事件访问器279

第17章 接口280

17.1什么是接口280

17.2声明接口283

17.3实现接口284

17.4接口是引用类型285

17.5接口和as运算符287

17.6实现多个接口287

17.7实现具有重复成员的接口288

17.8多个接口的引用289

17.9派生成员作为实现291

17.10显式接口成员实现291

17.11接口可以继承接口294

第18章 转换297

18.1什么是转换297

18.2隐式转换298

18.3显式转换和强制转换299

18.4转换的类型300

18.5数字的转换301

18.5.1隐式数字转换301

18.5.2溢出检测上下文302

18.5.3显式数字转换303

18.6引用转换306

18.6.1隐式引用转换307

18.6.2显式引用转换308

18.6.3有效显式引用转换308

18.7装箱转换309

18.8拆箱转换311

18.9用户自定义转换312

18.9.1用户自定义转换的约束312

18.9.2用户自定义转换的示例313

18.9.3计算用户自定义转换314

18.9.4多步用户自定义转换的示例315

18.10 is运算符316

18.11 as运算符317

第19章 泛型318

19.1什么是泛型318

19.2 C#中的泛型320

19.3泛型类321

19.4声明泛型类321

19.5创建构造类型322

19.6创建变量和实例323

19.6.1使用泛型的栈的示例324

19.6.2比较泛型和非泛型栈325

19.7类型参数的约束326

19.7.1 Where子句327

19.7.2约束类型和次序327

19.8泛型方法328

19.8.1声明泛型方法328

19.8.2调用泛型方法329

19.8.3泛型方法的示例330

19.9扩展方法和泛型类331

19.10泛型结构332

19.11泛型委托332

19.12泛型接口334

19.12.1使用泛型接口的示例335

19.12.2泛型接口的实现必须唯一336

19.13泛型的协变和逆变337

19.13.1接口的协变和逆变341

19.13.2有关变化的更多内容342

第20章 枚举数和迭代器344

20.1枚举数和可枚举类型344

20.1.1使用foreach语句344

20.1.2枚举数类型345

20.2使用IEnumerator接口346

20.3 IEnumerable接口349

20.4不实现接口的枚举数351

20.5泛型枚举接口352

20.6IEnumerator﹤T﹥接口352

20.7IEnumerable﹤T﹥接口354

20.8迭代器355

20.8.1迭代器块356

20.8.2使用迭代器来创建枚举数357

20.8.3使用迭代器来创建可枚举类型358

20.9常见迭代器模式360

20.10产生可枚举类型和枚举数360

20.11产生多个可枚举类型361

20.12产生多个枚举数362

20.13迭代器实质363

第21章 介绍LINQ365

21.1什么是LINQ365

21.2 LINQ提供程序366

21.3查询语法和方法语法368

21.4查询变量369

21.5查询表达式的结构370

21.5.1 from子句371

21.5.2 join子句372

21.5.3什么是联结373

21.5.4查询主体中的from let where片段375

21.5.5 orderby子句378

21.5.6 select group子句378

21.5.7查询中的匿名类型380

21.5.8 group子句380

21.5.9查询延续382

21.6标准查询运算符383

21.6.1查询表达式和标准查询运算符384

21.6.2标准查询运算符的签名385

21.6.3委托作为参数386

21.6.4 LINQ预定义的委托类型387

21.6.5使用委托参数的示例388

21.6.6使用Lambda表达式参数的示例388

21.7 LINQ to XML390

21.7.1标记语言390

21.7.2 XML基础390

21.7.3 XML类391

21.7.4使用XML树的值394

21.7.5使用XML属性397

21.7.6节点的其他类型400

21.7.7使用LINQ to XML的LINQ查询401

第22章 异步编程简介404

22.1进程、线程以及异步编程404

22.1.1多线程处理带来的问题405

22.1.2多线程处理的复杂度405

22.2并行循环406

22.3 BackgroundWorker类408

22.3.1 BackgroundWorker类的示例代码411

22.3.2 BackgroundWorker用于WPF程序的例子414

22.4异步编程模式416

22.5 BeginInvoke和EndInvoke417

22.5.1等待一直到结束模式418

22.5.2 AsyncResult类419

22.5.3轮询模式420

22.5.4回调模式421

22.6计时器423

第23章 预处理指令426

23.1什么是预处理指令426

23.2基本规则426

23.3 #define和#undef指令427

23.4条件编译428

23.5条件编译结构429

23.6诊断指令431

23.7行号指令431

23.8区域指令432

23.9#pragma warning指令433

第24章 反射和特性434

24.1元数据和反射434

24.2 Type类435

24.3获取Type对象436

24.4什么是特性438

24.5应用特性439

24.6预定义的保留的特性439

24.6.1 Obsolete特性439

24.6.2 Conditional特性440

24.6.3预定义的特性441

24.7有关应用特性的更多内容442

24.7.1多个特性442

24.7.2其他类型的目标442

24.7.3全局特性443

24.8自定义特性443

24.8.1声明自定义特性444

24.8.2使用特性的构造函数444

24.8.3指定构造函数444

24.8.4使用构造函数445

24.8.5构造函数中的位置参数和命名参数445

24.8.6限制特性的使用446

24.8.7自定义特性的最佳实践447

24.9访问特性448

24.9.1使用IsDefined方法448

24.9.2使用GetCustomAttribute方法449

第25章 其他主题450

25.1概述450

25.2字符串450

25.2.1使用StringBuilder类451

25.2.2格式化数字字符串452

25.3把字符串解析为数据值455

25.4关于可空类型的更多内容457

25.4.1使用空接合运算符458

25.4.2使用可空用户自定义类型459

25.5 Main方法460

25.6文档注释461

25.6.1插入文档注释462

25.6.2使用其他XML标签463

25.7嵌套类型463

25.7.1嵌套类的示例464

25.7.2可见性和嵌套类型465

25.8和COM的互操作467

热门推荐