图书介绍

Head First C# 第3版【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

Head First C# 第3版
  • (美)安德鲁·施特尔曼(Andrew Stellman),(美)詹尼弗·格林 著
  • 出版社: 北京:中国电力出版社
  • ISBN:9787512385337
  • 出版时间:2016
  • 标注页数:903页
  • 文件大小:457MB
  • 文件页数:947页
  • 主题词:C语言-程序设计

PDF下载


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

下载说明

Head First C# 第3版PDF格式电子书版下载

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

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

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

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

图书目录

1用C#构建应用快速构建酷炫程序!2

为什么你要学C#2

C#和Visual Studio IDE让很多事情变得容易3

你在Visual Studio中这样做……4

Visual Studio会为你这样做……4

外星人入侵!8

只有你能拯救地球9

以下是你要构建的目标10

从一个空应用开始12

为页面建立网格18

在网格中增加控件20

使用属性改变控件的外观22

控件让游戏动起来24

你已经为游戏做好了准备29

接下来要做什么30

增加一个具体做事情的方法31

为方法填入代码32

完成方法,运行程序34

这是你目前为止所做的36

增加定时器管理游戏38

让Start按钮起作用40

运行程序看看进展如何41

增加代码让控件与玩家交互42

把人拖到敌人身上,结束游戏44

现在可以真正玩你的游戏了45

让敌人看起来更像外星人46

增加一个启动画面和瓷块47

发布你的应用48

使用Remote Debugger越狱应用49

开始远程调试50

2都只是代码幕后的故事54

当你这么做时……54

……IDE会这么做55

程序从哪里来56

IDE帮你编写代码58

程序剖析60

两个类可以在同一个命名空间65

程序使用变量处理数据66

C#使用我们熟悉的数学符号68

使用调试工具查看变量的变化69

循环就是周而复始反复完成一个动作71

if/else语句做决策72

从头开始构建一个应用73

让各个按钮做些事情75

建立条件,查看条件是否为true76

Windows桌面应用很容易构建87

面向Windows Desktop重构你的应用88

你的桌面应用知道从哪里开始92

可以改变程序的入口点94

在IDE中完成修改,同时也在修改你的代码96

3对象:我们的方向!让代码更合理102

Mike如何考虑问题102

Mike的汽车导航系统如何考虑问题103

Mike的Navigator类有一些设置和改变路线的方法104

使用前面所学的知识构建一个使用类的程序105

Mike有一个好主意107

Mike可以使用对象来解决他的问题108

使用类来建立对象109

由一个类创建新对象时,称为这个类的一个实例110

更好的解决方案……利用对象!111

实例使用字段来跟踪状态116

来创建一些实例!117

感谢内存118

程序要做什么119

使用合适的类名和方法名使代码更直观120

为类提供一个自然的结构122

类图可以帮助你组织类,让它们更有意义124

构建一个类来处理某些人128

为这些人创建一个工程129

建立一个窗体与这些人交互130

还有更容易的方法来初始化对象133

4类型与引用现在是上午10:00,你知道你的数据在哪里吗?142

变量的类型决定了它能存储哪种数据142

变量就像数据外卖杯144

10磅数据装进5磅的包里145

即使数字的大小合适,也不能随意赋给任意变量146

强制转换一个过大的值时,C#会自动调整147

C#自动完成一些强制类型转换148

调用一个方法时,实参必须与形参的类型兼容149

调试里程计算器153

结合=和操作符154

对象也使用变量155

用引用变量指示对象156

引用就像对象的标签157

如果没有任何引用,对象就会被垃圾回收158

多个引用及其副作用160

两个引用意味着有两个途径来改变一个对象的数据165

一种特殊情况:数组166

数组还可以包含一组引用变量167

欢迎品尝Sloppy Joe餐厅物美价廉的三明治!168

对象使用引用交谈170

前人未至之境171

构建一个打字游戏176

控件也是对象,与其他对象一样180

C#实验室1赛狗日188

规范:构建一个赛狗模拟系统188

完成的作品196

5封装让你的隐私……属于你个人198

Kathleen是一个策划人198

预算工具要做些什么?199

你要为Kathleen构建一个程序200

Kathleen的测试206

每个选择都应当单独计算208

很容易无意识地误用对象210

封装意味着保证类中的一些数据是私有的211

使用封装控制对类方法和字段的访问212

但是RealName字段真的得到了保护吗?213

私有字段和方法只能从类的内部访问214

封装保证数据干净222

属性使封装更容易223

构建一个应用测试Farmer类224

使用自动属性完成这个类225

如果想改变单位饲料数呢?226

使用构造函数初始化私有字段227

6继承对象的家族树238

Kathleen也承办生日聚会238

需要一个BirthdayParty类239

构建聚会规划工具2.0版240

还有一个问题……如果人数超过12,聚会能额外收取247

100吗?247

类使用继承时,只需要写一次代码248

建立类模型:从一般到特定249

如何设计一个动物园模拟系统?250

使用继承避免子类中出现重复代码251

不同的动物会发出不同的声音252

想想如何对动物分组253

创建类层次结构254

每个子类都扩展其基类255

使用冒号继承一个基类256

我们知道继承会为子类增加基类的字段、属性和方法……259

子类可以覆盖方法来改变或替换它继承的方法260

只要能使用基类,就可以使用它的某个子类261

子类可以隐藏超类中的方法268

使用override和virtual关键字来继承行为270

子类可以使用base关键字访问其基类272

基类有构造函数,子类也需要有构造函数273

现在准备完成Kathleen的任务!274

构建一个蜂巢管理系统279

如何构建蜂巢管理系统280

7接口与抽象类让类信守承诺294

再来看蜂巢问题294

可以使用继承为不同类型的蜜蜂创建相应的类295

接口告诉类必须实现某些方法和属性296

使用interface关键字定义接口297

现在可以创建两项工作都胜任的NectarStinger实例298

实现接口的类必须包括接口的所有方法299

使用接口做个小练习300

不能实例化接口,不过可以引用接口302

接口引用类似对象引用303

可以使用“is”查看一个类是否实现了某个接口304

接口可以继承其他接口305

RoboBee 4000可以完成工蜂的工作,而且不需要消耗珍贵的蜂蜜306

CoffeeMaker也是一个Appliance308

对象和接口的向上强制转换309

向下强制转换允许你把家用电器变回咖啡机310

接口也可以向上和向下强制转换311

不只是公共和私有315

访问修饰符改变可见性316

有些类不能实例化319

抽象类就像类和接口之间的一个过渡320

正像我们说的,有些类不能实例化322

抽象方法没有方法体323

致命的死亡菱形!328

多态表示一个对象可以有多种不同形态331

8枚举与集合存储大量数据352

字符串并不适于存储所有类型的数据352

Enum枚举允许处理一组合法值353

枚举允许用名字表示数字354

数组很难处理358

利用List可以很容易地存储……任何事物的集合359

List比数组更灵活360

List会动态伸缩363

泛型可以存储任何类型364

集合初始化方法类似于对象初始化方法368

列表很容易,但排序可能很困难370

IComparable〈Duck〉帮助列表对鸭子排序371

使用IComparer告诉List如何排序372

创建比较对象的一个实例373

IComparer可以完成复杂的比较374

覆盖ToString()方法让对象自我描述377

更新foreach循环,让Duck和Card自行显示378

写foreach循环时,就是在使用IEnumerable〈T〉379

使用IEnumerable可以向上强制转换整个列表380

可以建立你自己的重载方法381

使用字典存储键和值387

字典功能通览388

构建一个使用字典的程序389

还有更多集合类型……401

队列是FIFO——先进先出402

栈是LIFO——后进先出403

9读写文件为我保存最后一个字节!410

.NET使用流读写数据410

不同的流读写不同的数据411

FileStream向文件读写字节412

3个简单步骤向文件写文本413

恶魔Swindler又要发动一个邪恶计划414

使用两个对象读写417

数据可以经过多个流418

使用内置对象弹出标准对话框421

对话框也是WinForms控件422

使用内置File和Directory类处理文件和目录424

使用文件对话框打开和保存文件(只需要几行代码)427

IDisposable确保适当地撤销对象429

利用using语句避免文件系统错误430

使用switch语句做出正确的选择437

增加一个重载的Deck()构造函数,从文件读入一副牌439

对象串行化时,它引用的所有对象也要串行化……443

利用串行化可以一次读写整个对象图444

.NET使用Unicode存储字符和文本449

C#可以使用字节数组移动数据450

使用Binary Writer写二进制数据451

还可以手动读写串行化文件453

找出文件的差别,并使用这些信息修改文件454

处理二进制文件可能很麻烦455

使用文件流构建一个十六进制转储工具456

使用Stream.Read()从流读取字节458

C#实验室2冒险游戏466

规范:构建一个冒险游戏466

好戏就要开始了!486

10用XAML设计Windows Store应用让你的应用更上一个台阶488

Brian在运行Windows 8488

Windows Forms使用IDE建立的一个对象图494

使用IDE研究对象图497

Windows Store应用使用XAML创建UI对象498

把Go Fish!窗体重新设计为一个Windows Store应用页面500

页面布局从控件开始502

行和列可以调整来适应页面大小504

使用网格系统建立应用页面布局506

数据绑定将XAML页面与类连接起来512

XAML控件可以包含文本……以及更多514

使用数据绑定为Sloppy Joe构建一个更棒的菜单516

使用静态资源在XAML中声明对象522

使用数据模板显示对象524

INotifyPropertyChanged允许绑定对象发送更新526

修改MenuMaker来通知GeneratedDate属性有变化527

11async、await和数据契约串行化抱歉打断一下536

Brian的文件遇到点麻烦536

Windows Store应用使用await来更好地响应538

使用FileIO类读写文件540

构建一个不那么简单的文本编辑器542

数据契约是对象数据的一个抽象定义547

使用async方法查找和打开文件548

KnownFolders帮助你访问标准文件夹550

整个对象图都串行化到XML551

将Guy对象通过流写入应用的本地文件夹552

测试你的Guy Serializer应用556

使用Task从一个async方法调用另一个async方法557

为Brian构建一个新的借口管理应用558

分离页面、借口和借口管理系统559

为借口管理系统创建主页面560

为主页面增加应用条561

构建ExcuseManager类562

增加页面的底层代码564

12异常处理救火太老套570

Brian希望他的借口是移动的570

程序抛出一个异常时,.NET会生成一个Exception对象574

Brian的代码出了意外576

所有异常对象都继承了Exception578

调试工具可以帮助跟踪和避免代码中的异常579

使用IDE的调试工具找出借口管理系统哪里出了问题580

哎呀,代码还是有问题……583

用try和catch处理异常585

想调用的方法有风险会发生什么?586

使用调试工具跟踪try/catch流588

如果有些代码总要运行,可以使用一个fiinally块590

使用Exception对象得到问题的有关信息595

使用多个catch块处理多种类型的异常596

一个类抛出异常,可以由另一个类中的方法捕获这个异常597

避免大量问题的一种简便方法:利用using可以免费使用try和fiinally601

避免异常:实现IDisposable完成自己的清理602

史上最糟糕的catch块:全能型+注释604

关于异常处理的一些简单想法606

13CAPTAIN AMAZING对象之列618

你的最后机会……对象的最终化方法618

最终化方法到底什么时候运行?619

Dispose()处理using,最终化方法处理垃圾回收620

最终化方法不能依赖于稳定性622

让对象在Dispose()中自行串行化623

struct看起来像是一个对象……627

……但不是对象627

值要复制,引用要指定628

struct是值类型;对象是引用类型629

栈与堆:再谈谈内存631

用out参数让方法返回多个值634

使用ref修饰符按引用传递635

使用可选参数设置默认值636

需要不存在的值时可以使用可为空的类型637

可为空的类型可以让程序更健壮638

“Captain” Amazing……还不够641

扩展方法为现有类增加新行为642

扩展一个基本类型:string644

14用LINQ查询数据和构建应用掌控你的数据650

Jimmy是Captain Amazing的忠实粉丝……650

……不过他的收藏杂乱无章651

LINQ可以从多个来源获取数据652

已经为LINQ建立了.NET集合653

LINQ使查询很容易654

LINQ很简单,但是查询不一定简单655

Jimmy得到一些帮助658

开始为Jimmy构建一个应用660

使用new关键字创建匿名类型663

LINQ是个多面手666

为Jimmy的应用增加新查询668

LINQ可以将结果合并分组673

将Jimmy漫画书的价格分组674

使用join将两个集合合并到一个序列677

Jimmy省了一大笔钱678

使用语义变焦导航数据684

为Jimmy的应用增加语义变焦686

你让Jimmy非常高兴691

IDE的Split App模板可以帮你构建应用导航数据692

15事件与委托没有监视时,代码在做什么702

希望你的对象自己考虑问题吗?702

不过对象怎么知道要做出响应呢?702

出现一个事件时……对象会监听703

一个对象产生事件,其他对象监听……704

然后,其他对象处理这个事件705

把各个部分连起来706

IDE会为你自动创建事件处理方法710

泛型EventHandler允许你定义自己的事件类型716

Windows Forms使用多个事件717

一个事件,多个处理方法718

Windows Store应用使用事件完成进程生命期管理720

为Jimmy的漫画书应用增加进程生命期管理721

XAML控件使用路由事件724

创建一个应用来研究路由事件725

连接事件发送者和事件接收者730

委托代表一个具体的方法731

委托的实际使用732

对象可以订购事件……735

使用回调控制谁来监听736

回调只是一种使用委托的方法738

可以对MessageDialog命令使用回调740

使用委托利用Windows Setting charm742

16用 MVVM模式建立应用架构好应用的正反面746

Head First Basketball Conference篮球联赛需要一个应用746

不过对于如何构建这个应用他们能达成一致吗?747

为绑定还是为处理数据而设计?748

MVVM允许你针对绑定以及数据进行设计749

使用MVVM模式开始构建篮球赛阵容应用750

用户控件允许你创建你自己的控件753

裁判需要一个秒表761

MVVM意味着要考虑应用的状态762

开始构建秒表应用的模型763

事件提醒应用的其余部分有状态发生变化764

为一个简单的秒表构建视图765

增加秒表视图模型766

转换器自动转换值完成绑定770

转换器可以处理多种不同类型772

可视化状态使控件对改变做出响应778

使用DoubleAnimation完成double值动画779

使用对象动画完成对象值的动画780

使用同样的视图模型构建一个模拟秒表781

UI控件也可以用C#代码实例化786

C#也可以构建“真正的”动画788

创建一个用户控件来完成图片动画789

让你的蜜蜂在页面上飞起来790

使用ItemsPanelTemplate将控件绑定到Canvas793

祝贺你!(不过还没有结束……)806

C#实验室3 入侵者808

经典的视频游戏808

还有很多可以做829

17额外奖励的工程!构建一个Windows Phone游戏832

Bee Attack!832

开始之前833

i附录其他:这本书最想介绍的11大内容846

1.关于Windows Store846

2.基础知识848

3.命名空间和程序集854

4.使用BackgroundWorker保证WinForms的响应性858

5.Type类和GetType()861

6.相等性、IEquatable和Equals()862

7.使用yield return创建可枚举的对象865

8.重构868

9.匿名类型、匿名方法和lambda表达式870

10.LINQ to XML872

11.Windows表现基础库874

你知道C#和.NET Framework的这些功能吗?875

热门推荐