图书介绍

C#图解教程 第4版 迄今为止最容易看懂的C#书PDF|Epub|txt|kindle电子书版本网盘下载

C#图解教程 第4版 迄今为止最容易看懂的C#书
  • (美)索利斯著;姚琪琳等译 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115320902
  • 出版时间:2013
  • 标注页数:524页
  • 文件大小:80MB
  • 文件页数:540页
  • 主题词:C语言-程序设计-教材

PDF下载


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

下载说明

C#图解教程 第4版 迄今为止最容易看懂的C#书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 .NET时代2

1.2.1 .NET框架的组成2

1.2.2大大改进的编程环境3

1.3编译成CIL5

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

1.5 CLR7

1.6 CLI8

1.7各种缩写9

1.8 C#的演化9

第2章 C#编程概述10

2.1一个简单的C#程序10

2.2标识符12

2.3关键字12

2.4 Main:程序的起始点13

2.5空白13

2.6语句14

2.7从程序中输出文本15

2.7.1 Write15

2.7.2 WriteLine15

2.7.3格式字符串16

2.7.4多重标记和值16

2.7.5格式化数字字符串17

2.8注释:为代码添加注解20

2.8.1关于注释的补充21

2.8.2文档注释21

2.8.3注释类型总结22

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

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

3.2类型是一种模板24

3.3实例化类型24

3.4数据成员和函数成员25

3.5预定义类型26

3.6用户定义类型27

3.7栈和堆28

3.7.1栈28

3.7.2堆29

3.8值类型和引用类型30

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

3.8.2 C#类型的分类31

3.9变量32

3.9.1变量声明32

3.9.2多变量声明34

3.9.3使用变量的值34

3.10静态类型和dynamic关键字34

3.11可空类型35

第4章 类的基本概念36

4.1类的概述36

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

4.3声明类38

4.4类成员38

4.4.1字段38

4.4.2方法40

4.5创建变量和类的实例41

4.6为数据分配内存41

4.7实例成员42

4.8访问修饰符43

4.9从类的内部访问成员45

4.10从类的外部访问成员46

4.11综合应用47

第5章 方法49

5.1方法的结构49

5.2方法体内部的代码执行50

5.3本地变量51

5.3.1类型推断和var关键字52

5.3.2嵌套块中的本地变量52

5.4本地常量53

5.5控制流54

5.6方法调用55

5.7返回值56

5.8返回语句和void方法57

5.9参数59

5.9.1形参59

5.9.2实参59

5.10值参数61

5.11引用参数63

5.12引用类型作为值参数和引用参数65

5.13输出参数68

5.14参数数组70

5.14.1方法调用71

5.14.2用数组作为实参73

5.15参数类型总结74

5.16方法重载74

5.17命名参数75

5.18可选参数76

5.19栈帧79

5.20递归81

第6章 深入理解类83

6.1类成员83

6.2成员修饰符的顺序84

6.3实例类成员85

6.4静态字段86

6.5从类的外部访问静态成员86

6.5.1静态字段示例87

6.5.2静态成员的生存期87

6.6静态函数成员88

6.7其他静态类成员类型89

6.8成员常量90

6.9常量与静态量90

6.10属性91

6.10.1属性声明和访问器92

6.10.2属性示例93

6.10.3使用属性94

6.10.4属性和关联字段94

6.10.5执行其他计算96

6.10.6只读和只写属性96

6.10.7属性与公共字段97

6.10.8计算只读属性示例97

6.10.9自动实现属性98

6.10.10静态属性99

6.11实例构造函数100

6.11.1带参数的构造函数101

6.11.2默认构造函数102

6.12静态构造函数102

6.13对象初始化语句104

6.14析构函数105

6.15 readonly修饰符105

6.16 this关键字106

6.17索引器107

6.17.1什么是索引器108

6.17.2索引器和属性108

6.17.3声明索引器109

6.17.4索引器的set访问器110

6.17.5索引器的get访问器110

6.17.6关于索引器的补充111

6.17.7为Employee示例声明索引器111

6.17.8另一个索引器的示例112

6.17.9索引器重载113

6.18访问器的访问修饰符114

6.19分部类和分部类型115

6.20分部方法116

第7章 类和继承118

7.1类继承118

7.2访问继承的成员119

7.3所有类都派生自object类120

7.4屏蔽基类的成员121

7.5基类访问123

7.6使用基类的引用124

7.6.1虚方法和覆写方法125

7.6.2覆写标记为override的方法127

7.6.3覆盖其他成员类型130

7.7构造函数的执行130

7.7.1构造函数初始化语句132

7.7.2类访问修饰符134

7.8程序集间的继承134

7.9成员访问修饰符136

7.9.1访问成员的区域137

7.9.2公有成员的可访问性138

7.9.3私有成员的可访问性138

7.9.4受保护成员的可访问性138

7.9.5内部成员的可访问性139

7.9.6受保护内部成员的可访问性139

7.9.7成员访问修饰符小结140

7.10抽象成员141

7.11抽象类142

7.11.1抽象类和抽象方法的示例142

7.11.2抽象类的另一个例子143

7.12密封类144

7.13静态类144

7.14扩展方法145

7.15 命名约定148

第8章 表达式和运算符150

8.1表达式150

8.2字面量151

8.2.1整数字面量152

8.2.2实数字面量153

8.2.3字符字面量153

8.2.4字符串字面量154

8.3求值顺序156

8.3.1优先级156

8.3.2结合性157

8.4简单算术运算符157

8.5求余运算符158

8.6关系比较运算符和相等比较运算符159

8.7递增运算符和递减运算符160

8.8条件逻辑运算符162

8.9逻辑运算符163

8.10移位运算符164

8.11赋值运算符165

8.12条件运算符167

8.13一元算术运算符168

8.14用户定义的类型转换169

8.15 运算符重载172

8.15.1运算符重载的限制172

8.15.2运算符重载的示例173

8.16 typeof运算符174

8.17其他运算符176

第9章 语句177

9.1什么是语句177

9.2表达式语句178

9.3控制流语句179

9.4 if语句179

9.5 if……else语句180

9.6 while循环181

9.7 do循环182

9.8 for循环183

9.8.1 for语句中变量的作用域185

9.8.2初始化和迭代表达式中的多表达式185

9.9 switch语句186

9.9.1分支示例187

9.9.2 switch语句的补充188

9.9.3分支标签189

9.10跳转语句189

9.11 break语句190

9.12 continue语句190

9.13标签语句191

9.13.1标签191

9.13.2标签语句的作用域192

9.14 goto语句192

9.15 using语句193

9.15.1资源的包装使用194

9.15.2 using语句的示例195

9.15.3多个资源和嵌套196

9.15.4 using语句的另一种形式197

9.16其他语句197

第10章 结构198

10.1什么是结构198

10.2结构是值类型199

10.3对结构赋值200

10.4构造函数和析构函数201

10.4.1实例构造函数201

10.4.2静态构造函数202

10.4.3构造函数和析构函数小结203

10.5字段初始化语句是不允许的203

10.6结构是密封的203

10.7装箱和拆箱203

10.8结构作为返回值和参数204

10.9关于结构的其他信息204

第11章 枚举205

11.1枚举205

11.1.1设置底层类型和显式值206

11.1.2隐式成员编号207

11.2位标志208

11.2.1 Flags特性210

11.2.2使用位标志的示例212

11.3关于枚举的补充213

第12章 数组216

12.1数组216

12.1.1定义216

12.1.2重要细节217

12.2数组的类型217

12.3数组是对象218

12.4一维数组和矩形数组219

12.5实例化一维数组或矩形数组220

12.6访问数组元素220

12.7初始化数组221

12.7.1显式初始化一维数组222

12.7.2显式初始化矩形数组222

12.7.3初始化矩形数组的语法点223

12.7.4快捷语法223

12.7.5隐式类型数组223

12.7.6综合内容224

12.8交错数组224

12.8.1声明交错数组225

12.8.2快捷实例化225

12.8.3实例化交错数组226

12.8.4交错数组中的子数组227

12.9比较矩形数组和交错数组228

12.10 foreach语句229

12.10.1迭代变量是只读的230

12.10.2 foreach语句和多维数组231

12.11数组协变232

12.12数组继承的有用成员233

12.13比较数组类型236

第13章 委托237

13.1什么是委托237

13.2委托概述239

13.3声明委托类型240

13.4创建委托对象241

13.5给委托赋值242

13.6组合委托243

13.7为委托添加方法243

13.8从委托移除方法244

13.9调用委托244

13.10委托的示例245

13.11调用带返回值的委托246

13.12调用带引用参数的委托247

13.13匿名方法248

13.13.1使用匿名方法249

13.13.2匿名方法的语法249

13.13.3变量和参数的作用域250

13.14 Lambda表达式252

第14章 事件255

14.1发布者和订阅者255

14.2源代码组件概览257

14.3声明事件257

14.4订阅事件258

14.5触发事件259

14.6标准事件的用法261

14.6.1通过扩展EventArgs来传递数据262

14.6.2移除事件处理程序264

14.7事件访问器265

第15章 接口267

15.1什么是接口267

15.2声明接口272

15.3实现接口273

15.4接口是引用类型275

15.5接口和as运算符276

15.6实现多个接口276

15.7实现具有重复成员的接口277

15.8多个接口的引用279

15.9派生成员作为实现280

15.10显式接口成员实现281

15.11接口可以继承接口283

15.12不同类实现一个接口的示例284

第16章 转换286

16.1什么是转换286

16.2隐式转换287

16.3显式转换和强制转换288

16.4转换的类型289

16.5数字的转换290

16.5.1隐式数字转换290

16.5.2溢出检测上下文291

16.5.3显式数字转换292

16.6引用转换295

16.6.1隐式引用转换296

16.6.2显式引用转换297

16.6.3有效显式引用转换298

16.7装箱转换299

16.7.1装箱是创建副本300

16.7.2装箱转换300

16.8拆箱转换301

16.9用户自定义转换302

16.9.1用户自定义转换的约束302

16.9.2用户自定义转换的示例302

16.9.3评估用户自定义转换304

16.9.4多步用户自定义转换的示例304

16.10 is运算符305

16.11 as运算符306

第17章 泛型308

17.1什么是泛型308

17.2 C#中的泛型310

17.3泛型类311

17.4声明泛型类312

17.5创建构造类型312

17.6创建变量和实例313

17.6.1使用泛型的栈的示例315

17.6.2比较泛型和非泛型栈316

17.7类型参数的约束317

17.7.1 Where子句317

17.7.2约束类型和次序318

17.8泛型方法319

17.8.1声明泛型方法319

17.8.2调用泛型方法320

17.8.3泛型方法的示例321

17.9扩展方法和泛型类322

17.10泛型结构323

17.11泛型委托323

17.12泛型接口325

17.12.1使用泛型接口的示例326

17.12.2泛型接口的实现必须唯一327

17.13协变328

17.14逆变330

17.14.1接口的协变和逆变332

17.14.2有关可变性的更多内容333

第18章 枚举器和迭代器335

18.1枚举器和可枚举类型335

18.2 IEnumerator接口337

18.3泛型枚举接口341

18.4迭代器343

18.4.1迭代器块343

18.4.2使用迭代器来创建枚举器344

18.4.3使用迭代器来创建可枚举类型346

18.5常见迭代器模式347

18.6产生多个可枚举类型348

18.7将迭代器作为属性349

18.8迭代器实质350

第19章 LINQ352

19.1什么是LINQ352

19.2 LINQ提供程序353

19.3方法语法和查询语法355

19.4查询变量356

19.5查询表达式的结构357

19.5.1 from子句358

19.5.2 join子句359

19.5.3什么是联结360

19.5.4查询主体中的from……let……where片段362

19.5.5 orderby子句365

19.5.6 select……group子句366

19.5.7查询中的匿名类型367

19.5.8 group子句368

19.5.9查询延续:into子句369

19.6标准查询运算符370

19.6.1标准查询运算符的签名373

19.6.2查询表达式和标准查询运算符374

19.6.3将委托作为参数375

19.6.4 LINQ预定义的委托类型376

19.6.5使用委托参数的示例377

19.6.6使用Lambda表达式参数的示例378

19.7 LINQ to XML379

19.7.1标记语言379

19.7.2 XML基础379

19.7.3 XML类381

19.7.4使用XML特性387

19.7.5节点的其他类型389

19.7.6使用LINQ to XML的LINQ查询390

第20章 异步编程393

20.1什么是异步393

20.2 async/await特性的结构398

20.3什么是异步方法399

20.3.1异步方法的控制流402

20.3.2 await表达式404

20.3.3取消一个异步操作407

20.3.4异常处理和await表达式409

20.3.5在调用方法中同步地等待任务410

20.3.6在异步方法中异步地等待任务413

20.3.7 Task.Delay方法415

20.4在GUI程序中执行异步操作416

20.5使用异步Lambda表达式420

20.6完整的GUI程序421

20.7 BackgroundWorker类423

20.8并行循环428

20.9其他异步编程模式430

20.10 BeginInvoke和EndInvoke431

20.10.1等待—直到结束模式432

20.10.2 AsyncResult类433

20.10.3轮询模式434

20.10.4回调模式435

20.11计时器438

第21章 命名空间和程序集440

21.1引用其他程序集440

21.2命名空间444

21.2.1命名空间名称447

21.2.2命名空间的补充447

21.2.3命名空间跨文件伸展448

21.2.4嵌套命名空间449

21.3 using指令450

21.3.1 using命名空间指令450

21.3.2 using别名指令451

21.4程序集的结构451

21.5程序集标识符453

21.6强命名程序集453

21.7程序集的私有方式部署455

21.8共享程序集和GAC455

21.8.1把程序集安装到GAC455

21.8.2 GAC内的并肩执行456

21.9配置文件457

21.10延迟签名457

第22章 异常459

22.1什么是异常459

22.2 try语句460

22.3异常类461

22.4 catch子句462

22.5使用特定catch子句的示例462

22.6 catch子句段463

22.7 finally块464

22.8为异常寻找处理程序465

22.9更进一步搜索466

22.9.1一般法则466

22.9.2搜索调用栈的示例467

22.10抛出异常469

22.11不带异常对象的抛出470

第23章 预处理指令472

23.1什么是预处理指令472

23.2基本规则472

23.3 #define和#undef指令473

23.4条件编译474

23.5条件编译结构475

23.6诊断指令476

23.7行号指令477

23.8区域指令478

23.9 #pragma warning指令479

第24章 反射和特性480

24.1元数据和反射480

24.2 Type类480

24.3获取Type对象482

24.4什么是特性484

24.5应用特性485

24.6预定义的保留的特性485

24.6.1 Obsolete特性485

24.6.2 Conditional特性486

24.6.3调用者信息特性488

24.6.4 DebuggerStepThrough特性488

24.6.5其他预定义特性489

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

24.7.1多个特性490

24.7.2其他类型的目标490

24.7.3全局特性491

24.8自定义特性491

24.8.1声明自定义特性492

24.8.2使用特性的构造函数492

24.8.3指定构造函数492

24.8.4使用构造函数493

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

24.8.6限制特性的使用494

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

24.9访问特性496

24.9.1使用IsDefined方法496

24.9.2使用GetCustomAttributes方法497

第25章 其他主题499

25.1概述499

25.2字符串499

25.3使用StringBuilder类501

25.4把字符串解析为数据值502

25.5关于可空类型的更多内容503

25.5.1为可空类型赋值505

25.5.2使用空接合运算符505

25.5.3使用可空用户自定义类型506

25.6 Main方法508

25.7文档注释509

25.7.1插入文档注释510

25.7.2使用其他XML标签510

25.8嵌套类型511

25.8.1嵌套类的示例512

25.8.2可见性和嵌套类型513

25.9析构函数和dispose模式514

25.9.1标准dispose模式515

25.9.2比较构造函数和析构函数517

25.10和COM的互操作518

索引521

热门推荐