编辑推荐
适读人群 :《Head First C#(第三版)》广大读者。 学习使用C#、XAML、.NET Framework和Visual Studio编程的jue佳途径,会让你有全新的学习体验。
内容简介
《Head First C#(第三版)》《Head First C#(第三版)》是学习使用C#、XAML、.NET Framework和Visual Studio编程的jue佳途径,会让你有全新的学习体验。这专门针对你的大脑特别制作,从第1章开始就会把你牢牢吸引住,你会在第1章中构建一个功能完备的视频游戏。接下来,你会学习类和面向对象编程、绘制图形和动画、用LINQ查询数据,还可以串行化到文件。所有这些都是通过构建游戏、解决谜题和动手建立工程获得的。学完所有这些内容之后,你将成为一个高水平的C#程序员,而且这将是一个轻松愉悦的学习过程!
作者简介
Andrew Stellman,虽然是一个土生土长的纽约人,却曾两次居住在匹兹堡。第yi次是从卡耐基梅隆计算机科学学院毕业。第二次则是他和Jenny开始着手开展他们的咨询业务,并为O’Reilly写他们的第yi本书。搬回故乡后,他在大学毕业后的第yi份工作是在百代唱片公司EMI-Capitol Records做一名程序员,这不无道理,因为他曾在LaGuardia音乐艺术和表演艺术学校学习大提琴和爵士乐吉它。他和Jenny的第yi次共事就是在这家财务软件公司,在那里他管理着一个程序员团队,所以独享特权,可以与一些了不起的程序员共事多年,并很高兴地从他们那里学到不少东西。平常不写书时,Andrew会忙着写一些没用(但有趣)的软件,玩音乐(不过,更多的时间是打电子游戏),做一些常常发出奇怪声音的电路试验,学中国的太极拳和日本的合气道。他有一个女朋友Lisa,还养着一只波美拉尼亚种小狗。Jennifer Greene 在大学里学的是哲学,不过,与这个领域中的所有其他人一样,光凭哲学没办法找到工作。幸运的是,她是一位优秀的软件测试人员,zui早在一个网上服务公司从事这个工作,这也是她第yi次切实感觉到项目管理的意义。
内页插图
精彩书评
对《 Head First C#》 的高度赞誉 “不论是对刚刚涉足开发的新人,还是像我一样有Java开发背景的开发人员,《Head First C#》 都是一本绝妙的好书。它对读者的水平没有任何要求,但是即使不完全是新手也能很快从书中找到想要的东西,真是很难达到的平衡。有这本书在手,我几乎瞬间就完成了我的第yi个大规模C#开发项目,强烈推荐这本书。” ——Shalewa Odusanya,Google技术审计经理
“《 Head First C#》 是学习C#的一种绝好方法,简单又有趣。这是我见过的zui适合C#初学者的书,例子清楚明白,内容简明易懂。还有很多小游戏引导你解决各种编程难题,这会帮你把知识牢牢地记住。这真是一本可以边学边用的好书!” ——Johnny Halife,Mural.ly首席架构师
“《 Head First C#》 是一本学习C#的全面而详尽的指南,读这本书就像与朋友交谈。尽管相关的概念很艰涩,但书中设置了很多编程挑战,这让它趣味无穷。” ——Rebeca Duhn-Krahn,Semphore Solutions的合作创始人
“我从未静下心来逐页翻看一本计算机类的书,不过还是被这本书深深吸引,一口气从头读到尾。 如果你想深入地学习C#,尽享其中的快乐,不要迟疑,这正是你需要的书。” ——Andy Parker,C#编程新手
“如果没有引人入胜的好例子,学习编程语言确实很难,不过这本书里包含了丰富的例子! 《 Head First C#》可以指导各种各样的初学者切实掌握 C#和.NET Framework,并从此长期使用这个工具开发出优秀的产品。” ——Chris Burrows,微软C#编译器团队开发人员
“通过《 Head First C#》 ,Andrew和Jenny为我们奉上了一本优秀的C#学习教程。不仅叙述平易近人,同时还以一种独特的方式涵盖了大量细节。如果你原先看过一些比较传统的C#书,肯定会爱上这本书。” ——Jay Hilyard,软件开发人员,《 C# 3.0 Cookbook》 合作者
“对于所有想要进入编程和C#世界并且需要一个优秀入门指导的人,我都会推荐这本书。从第yi页开始,作者们就用一种简单易行的方式带着读者轻松地学习一个又一个颇有难度的C#概念。按照这本书的引导,读者完成一些较大的项目/实验室之后,可以回过头来再看看所编写的程序,自豪地欣赏自己的成果。” ——David Sterling,微软C#编译器团队开发人员
“《 Head First C#》 是一本超级有趣的教程,让人过目难忘的例子和好玩的练习比比皆是。这种生动的风格肯定会牢牢抓住读者,从幽默风趣的注释范例,到家常的闲聊,让人不忍释卷,甚至抽象类和接口都能聚在一起激烈地讨论! 对于刚刚涉足编程的人来说,再没有比这更合适的入门途径了。” ——Joseph Albahari,Egton Medical信息系统的C#设计架构师,这是英国zui大的重要保健软件提供商,《 C# 3.0 in a Nutshell》 的合作者
“《 Head First C#》 阅读和理解起来都很轻松。我要向希望涉足C#领域的每一个开发人员推荐这本书。对于高级开发人员,如果希望更好地了解代码中到底发生了什么,那么强烈推荐这本书。另外,如果开发人员想寻求一种更好的方法向经验不太丰富的同事解释C#是如何工作的,同样要推荐这本书。” ——Giuseppe Turitto,Cornwall Consulting Group的C#和ASP.NET开发人员
“Andrew和Jenny再一次为我们创造了充满刺激的Head First学习体验。准备好笔和计算机,开动你的左脑、 右脑,还有笑神经,享受这次旅行吧。” ——Bill Mietelski,软件工程师
“阅读这本《 Head First C#》 真是一种绝妙的享受。我从来没有见过哪一系列书能教得这么好……我肯定要向希望学习C#的每一个人推荐这本书。” ——Krishna Pala,MCP
对其他Head First书的赞誉 “它让我感觉胜读万卷书。” ——Ward Cunningham,Wiki发明人和Hillside Group创始人
“诙谐的语调恰到好处,并用平实的方式将权wei的编程方法为我们娓娓道来。这是实用开发策略的 理想参考,让人不必深陷于连篇累牍乏味的‘ 专家教诲’ 就能大有收获。” ——Travis Kalanick,Scour和Red Swoosh创始人 MIT TR100成员
“有些书只是买来,有些书需要珍藏,还有些书则要时刻放在案头,感谢O’Reilly公司和Head First 系列的工作人员,再没有什么书能胜过Head First书了。到处都可以看到这些书,它们被翻得卷了 角,磨得破破烂烂,被人们传来传去。《 Head First SQL》 就一直摆在我的资料的zui上层。真是 糟糕,就连我查阅的PDF也都破烂不堪了。” ——Bill Sawyer,ATG课程管理人员,Oracle
对其他Head First书的赞誉 “这本书真是清晰透彻、 文笔风趣,而且充满智慧,就算不是程序员也能通过这本书很好地理解问题解决之道。” ——Cory Doctorow,《 Boing Boing》 的编辑之一,著有《 Down and Out in the Magic Kingdom》和《 Someone Comes to Town, Someone Leaves Town》
“昨天我收到这本书开始读……然后一发不可收拾。它真是‘ 酷毙了’ 。不仅有趣,涵盖了大量基础知识,而且切中要点。我实在为之着迷。” ——Erich Gamma,IBM杰出工程师,《 Design Patterns》 的合作者
“这是我读过的zui有趣、 zui睿智的软件设计书之一。” ——Aaron LaBerge,VP Technology,ESPN.com
“原先充满尝试、 错误、 再尝试的漫长学习过程已经完全浓缩到这本有趣的书中。” ——Mike Davidson,CEO,Newsvine公司
“这里每一章都以精巧的设计为核心,所有概念的阐述都同样富含实用性和过人智慧。” ——Ken Goldstein,执行副总裁,Disney Online
“读一本关于设计模式的书或文章时,我都得时不时地拿什么东西支住眼皮来集中注意力。但这本书不然,听上去可能很奇怪,但这本书确实让设计模式的学习充满乐趣。其他设计模式书可能会絮絮叨叨让人昏昏欲睡,这本书却一直在摇旗呐喊‘喂,醒醒!’ ——Eric Wuehler
“我爱死这本书了。 事实上, 在亲我妻子之前我先亲了这本书。” ——Satish Kumar
目录
概览
1 用C#构建应用: 快速构建酷炫程序! 1
2 都只是代码: 幕后的故事 53
3 对象: 我们的方法: 让代码更合理 101
4 类型与引用: 现在是上午10:00, 你知道你的数据在哪里吗? 141
C#实验室1: 赛狗日 187
5 封装: 让你的隐私……属于你个人 197
6 继承: 对象的家族树 237
7 接口与抽象类: 让类信守承诺 293
8 枚举与集成: 存储大量数据 351
9 读写文件: 为我保存最后一个字节! 409
C#实验室2: 冒险游戏 465
10 用XAML设计Windows store应用: 让你的应用更上一个台阶 487
11 async、 await和数据契约串行化: 抱歉打断一下 535
12 异常处理: 救火太老套 569
13 CAPTAIN AMAZING: 对象之死 611
14 用LINQ查询数据和构建应用: 掌控你的数据 649
15 事件与委托: 没有监视时, 代码在做什么 701
16 用MVVM模式建立应用架构: 好应用的正反面 745
C#实验室3: 入侵者 807
17 额外奖励的工程! 构建一个Windows Phone游戏 831
i 附录其他: 这本书最想介绍的11大内容 845
探索 C 世界的奇妙旅程:一本关于编程思维和创新实践的指南 本书并非一本枯燥的技术手册,而是一次充满趣味和启发性的学习体验。它将带领你深入 C 的核心,解锁编程的强大力量,并培养你成为一名真正有创造力的软件开发者。我们摒弃了传统教材的枯燥说教,转而采用一种独特而高效的学习方法,让你在轻松愉快的氛围中掌握 C 的精髓。 颠覆你的学习认知:为何我们如此与众不同? 你可能已经接触过不少编程书籍,但往往陷入了“看懂了,但写不出来”的困境。本书正是为了解决这个问题而生。我们相信,学习编程不仅仅是记住语法和 API,更重要的是培养一种解决问题的思维模式,以及理解代码背后逻辑的能力。因此,我们从一开始就着眼于“如何思考”而非“如何记忆”。 我们采用了一种“浸入式”的学习方式。你不会被海量的信息淹没,而是通过大量的实例、互动式练习和引人入胜的故事,逐步建立起对 C 概念的直观理解。想象一下,你不是在阅读枯燥的文字,而是在与书中的角色一同解决一个又一个编程挑战,这种学习过程本身就充满了乐趣和成就感。 从零开始,稳扎稳打:构建坚实的编程基础 对于完全没有编程经验的初学者,本书是你的理想起点。我们会从最基础的概念讲起,例如变量、数据类型、运算符,但我们不会止步于此。我们会用生动形象的比喻和贴近生活的情境,让你深刻理解这些基本元素的意义和用途。例如,我们不会简单地告诉你“变量是用来存储数据的”,而是会让你想象一个“盒子”,不同的盒子可以装不同类型的东西,而你可以给盒子贴上名字,方便以后取用。 随着你的理解逐渐深入,我们将引入更复杂的概念,如控制流(if 语句、循环)、函数、对象和类。但请放心,我们始终会以一种循序渐进的方式进行,确保你在每一步都感到自信和掌握。我们将通过解决一系列实际问题来讲解这些概念,让你明白它们是如何在真实的应用中发挥作用的。你会发现,编写一段代码来计算你的月度开销,或者模拟一个简单的游戏,并没有你想象的那么困难。 深入 C 的核心:不仅仅是语法 一旦你掌握了 C 的基础,我们将带你进入更广阔的天地。本书会深入探讨 C 的面向对象编程(OOP)特性。我们会详细讲解类、对象、封装、继承和多态等核心概念,并通过丰富的示例展示它们如何帮助我们构建更易于维护、扩展和重用的代码。你会学会如何像一位“建筑师”一样,设计你的软件结构,让不同的模块协同工作,共同完成复杂的任务。 此外,我们还会关注 C 中的一些高级特性,例如委托、事件、LINQ(Language Integrated Query)和异步编程。这些强大的工具能够极大地提高你的开发效率,并让你能够编写出更具响应性和高性能的应用程序。我们不会让你死记硬背这些特性的语法,而是会着重于解释它们背后的原理和适用场景,让你能够灵活地运用它们来解决实际问题。 不止于代码:培养你的编程思维 本书最大的价值在于,它不仅仅教授你 C 的语法和技巧,更重要的是培养你的“编程思维”。我们认为,优秀的程序员并非仅仅掌握了一门语言,而是拥有了一种解决问题的独特方式。 问题分解: 我们会教你如何将一个大的、复杂的问题分解成一系列更小、更易于管理的部分,然后逐个击破。 抽象思维: 你将学会如何从具体的事物中提取出共性的规律,并将其抽象成概念和模型,从而编写出更通用、更灵活的代码。 逻辑推理: 我们会通过大量的练习,训练你的逻辑思维能力,让你能够清晰地思考程序的执行流程,预测可能出现的问题,并找到最佳的解决方案。 调试技巧: 学习如何有效地查找和修复代码中的错误,这是一个程序员必备的技能。我们会分享一些实用的调试策略,让你能够事半功倍。 代码设计: 在编写代码的过程中,你将逐渐学会如何考虑代码的可读性、可维护性和可扩展性,写出更优雅、更健壮的程序。 实践出真知:丰富的案例和项目 “纸上得来终觉浅,绝知此事要躬行。” 我们深谙此道。本书的每一章都伴随着大量的代码示例和练习题。这些示例并非随意拼凑,而是精心设计的,能够真实地反映 C 的应用场景。你将有机会亲手编写代码,完成各种各样的任务,从简单的计算器到更复杂的图形界面应用程序。 更重要的是,本书将引导你完成一系列贯穿始终的项目。这些项目难度递增,让你能够在实际开发中巩固所学知识,并体验从构思到实现的全过程。你将有机会构建一个简单的游戏,设计一个数据管理系统,或者开发一个自动化工具。在完成这些项目的过程中,你会获得巨大的成就感,并建立起自信心。 面向未来:为你打开更广阔的编程世界 掌握了 C,你将打开通往广阔编程世界的大门。C 语言在 .NET 生态系统中扮演着核心角色,这意味着你可以利用它来开发各种类型的应用程序: 桌面应用程序: 使用 WPF(Windows Presentation Foundation)或 WinForms,你可以构建功能强大、用户体验出色的 Windows 桌面应用。 Web 应用程序: ASP.NET Core 是构建高性能、跨平台 Web 应用的利器,你可以用 C 构建动态网站、RESTful API 和微服务。 移动应用程序: 通过 Xamarin,你可以用 C 编写跨平台的 iOS 和 Android 应用,实现代码的重用,节省开发时间和成本。 游戏开发: Unity 引擎是全球最流行的游戏开发平台之一,它使用 C 作为主要的脚本语言。如果你对游戏开发感兴趣,C 将是你的不二之选。 云原生应用: .NET 平台在云端生态系统中也扮演着重要角色,你可以使用 C 构建运行在 Azure、AWS 等云平台上的各种服务。 人工智能和机器学习: 随着 ML.NET 等库的发展,C 在人工智能和机器学习领域也展现出了巨大的潜力。 本书将为你打下坚实的 C 基础,让你能够自信地迈入这些激动人心的领域。我们相信,一旦你体验过用 C 创造的乐趣,你将渴望不断学习和探索。 谁适合阅读本书? 编程零基础的初学者: 如果你是第一次接触编程,本书将是你最友好的向导。 希望系统学习 C 的开发者: 即使你已经接触过其他编程语言,本书也能帮助你系统地掌握 C 的精髓。 对 .NET 生态系统感兴趣的爱好者: 如果你想了解如何在 .NET 平台上进行开发,C 是你的必经之路。 希望提升编程思维和解决问题能力的程序员: 本书将帮助你跳出语法陷阱,培养真正的编程智慧。 总结 这是一本关于学习如何学习的编程书。它不仅仅是一门语言的教程,更是一种思维方式的启迪。通过本书,你将不仅仅学会 C,更重要的是学会如何像一个真正的程序员一样思考。我们承诺,这将是一段充满惊喜、挑战和收获的旅程。准备好,让我们一起探索 C 的奇妙世界!