推荐几本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. 【SSH之旅】一步学习的步Struts1相框(三):分析控制Struts1示例

    部分博客,,先后实施了Struts抽样.现在我们来分析这个样本.具体解释Struts1. Struts1的几个核心组件是值得我们注意的: (1)ActionServlet(核心控制器). (2)Act ...

  2. CentOS7 安装Bind

    简要记录安装Bind的过程以及遇到的问题 一. 虚拟机准备 准备了2台虚拟机,都是装的CentOS7 64_1的IP地址为192.168.1.160,2的地址为161.161作为DNS服务器. 二.下 ...

  3. Meteor全栈开发平台

    Meteor全栈开发平台 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博客地址为http://www.cnblogs.com/jasonno ...

  4. Codeforces 439C Devu and Partitioning of the Array(模拟)

    题目链接:Codeforces 439C Devu and Partitioning of the Array 题目大意:给出n个数,要分成k份,每份有若干个数,可是仅仅须要关注该份的和为奇数还是偶数 ...

  5. tc-SRM-626-DIV1-250

    枚举alice投掷骰子得到的结果的每一种情况极其数量. 枚举bob投掷骰子得到的结果的每一种情况极其数量. 然后枚举alice投掷骰子得到的结果的数量和bob投掷骰子比alice低的数量. 然后计算结 ...

  6. PHP操作XML文件学习笔记

    原文:PHP操作XML文件学习笔记 XML文件属于标签语言,可以通过自定义标签存储数据,其主要作用也是作为存储数据. 对于XML的操作包括遍历,生成,修改,删除等其他类似的操作.PHP对于XML的操作 ...

  7. UVA1232 - SKYLINE(段树部分的变化)

    UVA1232 - SKYLINE(线段树区间改动) 题目链接 题目大意:依照顺序盖楼.假设这个位置(当前要盖的楼覆盖范围内)要新建的楼的高度>=之前就有的最大高度,那么就+1.最后输出这个+1 ...

  8. Linux学习笔记——举例说,makefile 添加宏定义

    0.前言     从学习C语言開始就慢慢開始接触makefile,查阅了非常多的makefile的资料但总感觉没有真正掌握makefile.假设自己动手写一个makefile总认为非常吃力. 所以特意 ...

  9. 每天进步一点点--&gt;功能fseek() 使用方法

    在阅读代码时,遇到了非常早之前用过的fseek(),非常久没实用了.有点陌生,写出来以便下次查阅. 函数功能是把文件指针指向文件的开头.须要包括头文件stdio.h fseek   函数名: fsee ...

  10. Nyoj Arbitrage(Floyd or spfa or Bellman-Ford)

    描述Arbitrage is the use of discrepancies in currency exchange rates to transform one unit of a curren ...