推荐几本C#程序员阅读的书籍

 

楼主这些年一直追随微软技术,也看了不少书籍,整理出一些个人认为不错的经典,推荐给各位阅读,以共同进步。

推荐顺序是由浅入深,深入浅出。


《Professional C#》,中文名《C#高级编程》,最新版本:第8版。

点评:本书的中文引进版虽然起名为“高级”编程,但个人认为做为入门或者全面了解.NET比较合适,因为其虽全面,但不够深入。60%+的篇幅在全面概括C#的特性,其余的章节涉及到了WPF,WCF,ASP.NET,Windows Runtime,Windows 8 商店应用,消息队列等。


《C# in Depth》,中文名《深入理解C#》,最新版本:最3版。

点评:本书对C#语言的讨论最为全面,且足够深入,针对c#每一个版本新增的特性都有全面的介绍,每一个想真正牢固掌握C#的同学都应该认真阅读。


《CLR via C#》,中文名《CLR via C#》,最新版本:英文版第4版,中文版第3版。

点评:本书是市面上对.NET Framework解析最为透彻的一本书,深入剖析了.NET的原理和机制,并且有很多Tips&Tricks。不想对.NET仅浮在表面理解的同学都必读。


《Windows Runtime via C#》,暂无中文版,最新版本:第1版。

点评:从.NET4.5之后,Windows的商店应用开发(手机,平板,PC,XBOX,以及未来的平台)的根基是Windows Runtime(WinRT),而此书的作者也是《CLR via C#》的作者,所以想要了解Windows Runtime的同学,此书是首选。而由于Windows Runtime的元数据都来自于.NET,所以学习的曲线并没有那么陡峭。


《Pro .NET Performance》,暂无中文版,最新版本:第1版。

点评:大多数初学者只知道C#/.NET用起来方便,却不了解其内部的某些机制可能导致性能损耗,比如引用类型和值类型的选择,垃圾回收,互操作,并行计算,I/O瓶颈,JIT等问题都有讨论。适合有一定基础(大概3年+经验)的同学围观。


《Windows Internal》,中文名《深入解析Windows操作系统》,最新版本:第6版(中文版目前只有第6版上)

点评:如果已经对.NET的CLR的机制了解的较为透彻了,并且想进一步向下挖掘Windows的内核原理的话,那么此书一定不能错过。内核的几大模块:注册表,进程,安全,网络,I/O,存储,文件,内存,缓存,以及Boot过程,Debug和都有详细介绍。此书主要以原理和机制介绍为主,没什么代码,也没有太多关于Windows API的介绍。


《Windows via C++》,中文名《Windows核心编程》,最新版本:第5版。

点评:如果说上一本书是对内核机制的原理介绍,那这一本书则是讲解如何使用Windows API对内核对象的进行操作。内核对象包括进程,线程,文件,内存等等。如果想对线程、进程同步有比较透彻的了解,此书必读。


如果你已经按顺序读到这里,你的Windows和C#基础应该已经(理论上)提高了好几个档了。

在掌握以上这些书籍之后,再在此基础上学习基于Windows、基于.NET、基于WinRT的技术就很快了,重要的是梳理自己的知识树,并了解整个微软的技术发展方向。再针对自己的工作和兴趣在一个或多个方向上深入学习,下面是部分开发方面的微软技术的大体分支:

Web方向:Asp.NET MVC,Singal R,Web API,WCF。

数据方向:Entity Framework,LINQ,ADO.NET。

移动方向:Windows Phone,Windows RT,XBOX。

桌面方向:Windows Forms,WPF。

存储方向:Azure,SQL Server,Office 365。

驱动方向:WDK。


最后,厚着脸皮再推荐两本书:

《Windows 8 应用开发实战》

点评:本书以介绍Windows Runtime为主,全面地介绍了Windows 8商店应用的开发。因为在微软的英明规划下,Windows Runtime将一统江湖,所以可以预见在未来的几年,包括XBox,Phone,手表,电视等智能设备上的开发SDK也会基于Windows Runtime,而目前情况下,推荐对Windows Phone  和 Windows 8 商店应用开发感兴趣的同学阅读本书作为入门和全面系统地了解。

《Unity开发实战》,英文名《Unity 4.x Cookbook》

点评:熟悉C#并且对游戏开发感兴趣的的同学,可以通过这本Cookbook快速进入Unity的世界,书中有100多个例子,带领你由浅入深地熟悉Unity的操作和开发。


后记:

欢迎各位讨论学习C#中的一些经验和技巧。

如果觉得本文对你有用,别忘了点个赞。

欢迎转载。

C#程序员阅读的书籍的更多相关文章

  1. 推荐Java程序员阅读的书籍(转)

    作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水 ...

  2. 推荐几本C#程序员阅读的书籍

    http://www.cnblogs.com/tongming/p/3879752.html

  3. PHP程序员进阶学习书籍参考指南

    PHP程序员进阶学习书籍参考指南 @heiyeluren lastmodify: 2016/2/18     [初阶](基础知识及入门)   01. <PHP与MySQL程序设计(第4版)> ...

  4. Java学习路线图·影响一代又一代程序员的经典书籍!(转)

    转自:http://www.douban.com/group/topic/50353428/ 基础篇 ·Java核心技术 卷1 基础知识(原书第9版)最新版·中文版 第13届Jolt生产效率大奖获奖图 ...

  5. 再来一波PHP程序员必看书籍

    前言 https://segmentfault.com/a/11... 内列出的是已看过的. 本篇文章内列出的书籍是准备要看或者正在看的,与大家分享. 知识无价,还是建议各位童鞋把更多的资金投入到学习 ...

  6. ThoughtWorks(中国)程序员读书雷达 —— 书籍下载整理

    ThoughtWorks(中国)程序员读书雷达 http://agiledon.github.io/blog/2013/04/17/thoughtworks-developer-reading-rad ...

  7. 资深程序员推荐必备书籍 《C语言程序设计》

    当下,IT行业发展日趋迅猛,产值成倍增长,高薪的诱惑更是驱使许多人想要进入IT行业发展.为了使大家更全面理解C语言程序设计,由千锋教研院高教产品研发部编著.清华大学出版社倾情出版的<C语言程序设 ...

  8. Java程序员阅读源码的小技巧,原来大牛都是这样读的,赶紧看看!

    今天介跟大家分享一下我平时阅读源码的几个小技巧,对于阅读java中间件如Spring.Dubbo等框架源码的同学有一定帮助. 本文基于Eclipse IDE,我们每天都使用的IDE其实提供了很多强大的 ...

  9. 推荐C++程序员阅读《CLR via C#》

    这本书的作者Jeffrey Richter也是<Windows核心编程>的作者. <Windows核心编程>更多的是对window系统相关知识的挖掘积累.<CLR via ...

随机推荐

  1. 整理php操作memcache缓存为基础的方法

    php操作memcache共享缓存方法 采用memcache的前提下,是需要在服务器端被配置memcahche环境! 证实memcahce经过正常的连接可以在程序中使用! <?php /** * ...

  2. Spark1.0.0 学习路径

          2014-05-30 Spark1.0.0 Relaease 经过11次RC后最终公布.尽管还有不少bug,还是非常令人振奋. 作为一个骨灰级的老IT,经过非常成一段时间的消沉,再次被点燃 ...

  3. Zend_Db_Table::getDefaultAdapter is not working

    在Bootstrap中使用 $url = constant ( "APPLICATION_PATH" ) . DIRECTORY_SEPARATOR . 'configs' . D ...

  4. HTC T328W刷机包 仿三星S5 UI美化 精简 S5落下

    ROM介绍 1.三星移植TouchWiz接口; 2.三星增加S4壁纸和图标美化; 3.正确ROM呈流线型; 4.正确ROM优化; 5.完成ROOT权限; 6.短信支持来信息亮屏功能(在短信设置里设置) ...

  5. asp.net学习之GridView七种字段

    原文:asp.net学习之GridView七种字段 asp.net中GridView绑定到数据源时,可以自动显示数据源的各个字段.只要设定其AutoGenerateColumns为TRUE即可.但这, ...

  6. android--解--它们的定义tabhost(动态添加的选项+用自己的主动性横向滑动标签+手势切换标签页和内容特征)

    在本文中,解决他们自己的定义tabhost实现,并通过代码集成动态加入标签功能.自己主动标签横向滑动功能.和手势标签按功能之间切换. 我完成了这个完美的解决方案一起以下: 1.定义tabwidget布 ...

  7. JAVA于Get和Post差异请求

    1. get 离server在对数据的访问.post 它是对server数据的传输. get 请求返回 request - URI 随机信息指出,. Post 请求发送电子邮件.观看新闻或交互式用户发 ...

  8. Sqlserver2012 评估期已过解决问题

     Sqlserver2012评估期已过问题解决 一.背景: 因为之前安装sqlserver2012忘记输入序列号,如今出现评估期已过的问题,前几天忙活半天,才解决,发现网 上叙述都非常凌乱,并且仅仅有 ...

  9. JS Tree

    jQuery插件实例七:一棵Tree的生成史 在需要表示级联.层级的关系中,Tree作为最直观的表达方式常出现在组织架构.权限选择等层级关系中.典型的表现形试类似于: 一颗树的生成常常包括三个部分:1 ...

  10. iOS8自适应布局视频教程

    联系:http://www.elsyy.com/course/6480 这是颐和园最近录制iOS8视频课程.简介iOS8出现在自适应布局. 本教程的书,颐和园<ios8 swift编程指南> ...