C#程序员阅读的书籍
推荐几本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 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#程序员阅读的书籍的更多相关文章
- 推荐Java程序员阅读的书籍(转)
作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水 ...
- 推荐几本C#程序员阅读的书籍
http://www.cnblogs.com/tongming/p/3879752.html
- PHP程序员进阶学习书籍参考指南
PHP程序员进阶学习书籍参考指南 @heiyeluren lastmodify: 2016/2/18 [初阶](基础知识及入门) 01. <PHP与MySQL程序设计(第4版)> ...
- Java学习路线图·影响一代又一代程序员的经典书籍!(转)
转自:http://www.douban.com/group/topic/50353428/ 基础篇 ·Java核心技术 卷1 基础知识(原书第9版)最新版·中文版 第13届Jolt生产效率大奖获奖图 ...
- 再来一波PHP程序员必看书籍
前言 https://segmentfault.com/a/11... 内列出的是已看过的. 本篇文章内列出的书籍是准备要看或者正在看的,与大家分享. 知识无价,还是建议各位童鞋把更多的资金投入到学习 ...
- ThoughtWorks(中国)程序员读书雷达 —— 书籍下载整理
ThoughtWorks(中国)程序员读书雷达 http://agiledon.github.io/blog/2013/04/17/thoughtworks-developer-reading-rad ...
- 资深程序员推荐必备书籍 《C语言程序设计》
当下,IT行业发展日趋迅猛,产值成倍增长,高薪的诱惑更是驱使许多人想要进入IT行业发展.为了使大家更全面理解C语言程序设计,由千锋教研院高教产品研发部编著.清华大学出版社倾情出版的<C语言程序设 ...
- Java程序员阅读源码的小技巧,原来大牛都是这样读的,赶紧看看!
今天介跟大家分享一下我平时阅读源码的几个小技巧,对于阅读java中间件如Spring.Dubbo等框架源码的同学有一定帮助. 本文基于Eclipse IDE,我们每天都使用的IDE其实提供了很多强大的 ...
- 推荐C++程序员阅读《CLR via C#》
这本书的作者Jeffrey Richter也是<Windows核心编程>的作者. <Windows核心编程>更多的是对window系统相关知识的挖掘积累.<CLR via ...
随机推荐
- 通达OA web页面与精灵显示内容更新后不一致的问题
前一段就发现有这种问题.就是在开发的电话查询里更新的信息,可是在精灵对话窗体上显示的还是原来的信息.这样导致从新开发入口更新信息就不能使用.一開始还以为是厂家升级,变更了存储的表结构.感觉下载近期的升 ...
- Ajax实践之用户是否存在
关于Ajax在之前的学习中,已经对它的基础知识有了初步的了解.仅仅是欠实践. 那么接下来就让实践来检验一下真理吧! 基础见:http://blog.csdn.net/liu_yujie2011com/ ...
- python抓取网络内容
最近想做研究互联网来获取数据,只是有一点python,让我们来看一个比较简单的实现. 例如,我想抓住奥巴马的每周演讲http://www.putclub.com/html/radio/VOA/pres ...
- linux下一个Oracle11g RAC建立(四)
linux下一个Oracle11g RAC建立(四) 三.配置共享存储 配置ASM管理准备 1)OCRDISK :存储CRS资源配置信息 2)VOTEDISK:仲裁盘.记录节点状态 3)DataDis ...
- PHP开发笔记
PHP开发笔记 JSON数据的解析 $json_data = isset($_GET['json_data']) ? $_GET['json_data'] : null; $json_data=str ...
- OpenWrt arp 命令发布
arp命令是用来查看mac与ip在消息路由器缓存表.这是一个基本的介绍了一下我就不说了. 但今天我的同事通过arp.可是在shell脚本就回显示没有此命令,我当时也感到非常费解. 于是乎.做了例如以下 ...
- C++ Primer 学习笔记_29_STL实践与分析(3) --操作步骤集装箱(下一个)
STL实践与分析 --顺序容器的操作(下) 六.訪问元素 假设容器非空,那么容器类型的front和back成员将返回容器的第一个和最后一个元素的引用. [与begin和end的对照:] 1)begin ...
- Redis 缓存 + Spring 的集成示例(转)
<整合 spring 4(包括mvc.context.orm) + mybatis 3 示例>一文简要介绍了最新版本的 Spring MVC.IOC.MyBatis ORM 三者的整合以及 ...
- Unity3D环境GLSL shaders书面 — 固体参数
我猜你一定能写一个转型不只是随机颜色显示红色shader.你需要从Unity编辑器shader传递参数. 本文中,我们将使用shader的Properties和GLSL特殊的变量类型uniforms. ...
- AlloyRenderingEngine
AlloyRenderingEngine燃烧的进度条 写在前面 Github: https://github.com/AlloyTeam/AlloyGameEngine HTML 5新增了progre ...