前言

读到一篇.net程序员应该看什么书?深有感触。以前曾经用C#也开发过几年的东西。在那里对相关语言和开发都有了一定的了解。这里,结合自己当初的一些体会和见识把一些比较好的书籍也和大家分享一下。这一系列的开发语言相关书籍大部分都是自己了解和接触过的。而且自己当初也用过这些语言做过开发。对于自己没接触过的语言,不评价,也不会乱做推荐。

C#入门

Head First C#

作为C#入门的书籍来说,其实还是比较多的。如果接触过其他的编程语言,比如Java, C++,再来看C#还是很容易上手。C#的发展比较快,在最初看起来和Java很相似的基础上增加了很多语法糖以及函数式编程语言的思想和特性。这些东西都大大加快了它的开发效率,当然,作为学习来说,要了解的面也就更广了。这本书没有面面俱到的全部都涵盖。其实,作为入门的来说,能够快速掌握基础的语法就可以做一些具体工作了。很多细节都需要后续去深入了解的。这本入手比较简单,上手还算是比较快的。

Essential C# 5.0

这本书的定位就相对有点不好选择。从某种角度来说,它可以作为一本入门学习的不错教材,一边学习基础一边实践。另外一方面,它本身也很厚,内容几乎覆盖了语言的各方面,也可以作为一本参考书。遇到一些问题的时候,可以从这里翻看一下。

Pro C# 5 and .NET 4.5 framework

记得当初才出来.net 2.0框架的时候,自己在一台破电脑上用的UE编辑器写代码,然后用CSC编译,看结果。当时学习的参考书就是这一本。它和前面那本类似,相当于兼顾了入门学习和参考的功能。有的章节自己可以挑着看。又是一本大部头,让人看着有点恐惧感。

C#提高

CLR via C#

看到这本书的时候,突然想起来几个词:烧烤,夜宵,魔兽。好吧好吧,这是当年和杨老板和kissinger同学几个一起晚上吃饭的时候经常还探讨这本书里面的知识点。学习这本书让人对CLR以及C#语言的内部机制都能有一个深刻的了解。这本书尤其是很多细节癖好者的最爱。另外,面试的时候,如果把这本书吃透了的话,确实不用怕别人提的这方面的问题了。经典,简直就是一宝典。

C# in depth

想深入了解泛型吗?知道协变、逆变是怎么回事么?他们的意义在哪里呢?yield return到底干了些什么使得它可以完成我们看来很麻烦的一堆事情?怎么有效的理解和运用lambda表达式?这些问题都在这本书里得到详细的解读。成为这方面的高手,这应该是必须学习和修炼的。

Effective C#

More Effective C#

Effective C#和More effective c#都是一些编程和开发经验的总结。怎么样有效的写代码,怎么样写出来的代码才算地道的C#代码。优秀的经验总结是最快最有效的学习方式。

相关技术材料

Programming Windows: Writing Windows 8 Apps With C# and XAML

这本书的作者可以说是一个传奇。他写的一本书《Code》也是非常经典的作品。做windows8平台的应用开发,他的这本书是一个非常好的参考。作为一个在技术前线耕耘20多年的老前辈,我们所能做的就是好好学习来向他致敬。

Pro ASP.NET 4.5 in C#

当年学习asp.net的时候在挑选一些材料时比较纠结,这方面的材料非常多。可是讲的非常好的并不多。比如ASP.NET unleashed,也是一本非常厚的书。但是它一上来就给你介绍一大堆控件的用法和介绍。感觉只是一个纯参考的书籍,不适合从入门到深入的去逐步掌握。作为asp.net的学习,如果不对页面的周期和相关事件等做一个详细的了解。很多时候写代码的人只能沉浸在一种莫名的拖控件带来的快感中。如果出现任何问题则会手足无措。这本书 在这些方面讲的非常好,让人了解到一个控件在web请求过程中的生命周期,哪些属性在什么情况下该怎么用。

Pro ASP.NET MVC 4

在2009年推出asp.net mvc2的时候,就尝试过找一些相关的学习资料。这本书详细介绍了asp.net mvc这个框架的各方面以及设计的思想。其中和结合TDD的开发思路开发了一个详细的示例。很不错的学习书。当年推出asp.net mvc也是向一些业界流行的web框架的学习。比如ROR, Django等等,这些都给asp.net mvc的设计带来很大的影响。

Professional ASP.NET mvc 4

当年在学习asp.net mvc的时候,去的比较多的一个地方就是www.asp.net。这里可以看到一些相关参与这个框架的开发者和设计者的讨论以及介绍。他们就是做这个asp.net mvc的。如果要学习的话,不看他们的看谁的呢?这里最初出来2.0版本时,还花了大量篇幅介绍一个用asp.net mvc开发的应用。上手学习某样东西最快的莫过于动手去实际做个东西出来。这就是一个理想的选择。

后记

关于C#和相关.net的技术材料其实优秀的非常多。这里主要对当年自己学习和了解过的一些好的材料做一个简单的列举。以便后面的初学者选择和参考。

也谈读书和书籍选择问题(C#)的更多相关文章

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

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

  2. 浅谈MySQL存储引擎选择 InnoDB还是MyISAM

    如果是一些小型的应用或项目,那么MyISAM 也许会更适合.当然,在大型的环境下使用MyISAM 也会有很大成功的时候,但却不总是这样的.如果你正在计划使用一个超大数据量的项目,那么你应该直接使用In ...

  3. 从性能的角度谈SQL Server聚集索引键的选择

      简介 在SQL Server中,数据是按页进行存放的.而为表加上聚集索引后,SQL Server对于数据的查找就是按照聚集索引的列作为关键字进行了.因此对于聚集索引的选择对性能的影响就变得十分重要 ...

  4. [No00005F]读书与心智

    读千卷书,行万里路,不够…还得有个对谈者相伴,才更有意思.十月七号晚上,与友人谈读书,线上直播,三百观众相伴,四小时畅谈,不亦乐乎! Part1:读书的载体 散发出最浓郁的知识芬芳和铭刻下最隽永的历史 ...

  5. 响铃:蜗牛读书“文”、网易云信“武”:游戏之外网易的AB面

    文|曾响铃来源|科技向令说(xiangling0815) 2019年开年,网易又"搞事情"了. 近日,网易集团旗下网易云信.网易七鱼主办的"网易MCtalk泛娱乐创新峰会 ...

  6. 但从谈论性能点SQL Server选择聚集索引键

    简单介绍 在SQL Server中,数据是按页进行存放的.而为表加上聚集索引后,SQL Server对于数据的查找就是依照聚集索引的列作为keyword进行了. 因此对于聚集索引的选择对性能的影响就变 ...

  7. ExtJS表格——行号、复选框、选择模型

    本篇的内容是为表格添加行号,和复选框,最后谈一下Ext的选择模型.内容比较简单,就直接上代码了.一. 设置行号   行号的设置主要问题在于删除某一行后需要重新计算行号  Ext.onReady(fun ...

  8. 一些对数学领域及数学研究的个人看法(转载自博士论坛wcboy)

    转自:http://www.math.org.cn/forum.php?mod=viewthread&tid=14819&extra=&page=1 原作者: wcboy 现在 ...

  9. SOA、ESB、NServiceBus、云计算

    SOA.ESB.NServiceBus.云计算 总结 SOA SOA 是通过功能组件化.服务化,来实现系统集成.解决信息孤岛,这是其主要目标.而更进一步则是实现更快响应业务的变化.更快推出新的应用系统 ...

随机推荐

  1. 【转】堆栈跟踪中收到一个UnhandledExceptionFilter调用时,如何查找问题异常堆栈

    定义没有异常处理程序来处理引发的异常时调用UnhandledExceptionFilter函数.函数通常将异常传递到捕获并处理它所尝试的 Ntdll.dll 文件. 在某些情况下,在其中存在的进程内存 ...

  2. Delphi 操作Word怎么控制光标的位置

    unit ControlWordS; interface uses Classes, Sysutils, Word97; type  TControlWord = class(TComponent)  ...

  3. IOS UINavigationController 操作相关集合

    1.修改中间Title字体以及大小 [self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dict ...

  4. <译>Selenium Python Bindings 1 - Installation

    Installation Introduction Selenium Python bindings 提供了一个简单的API来使用Selenium WebDriver编写使用功能/验收测试.通过Sel ...

  5. C#汉字转换拼音技术详解

    C#汉字转换拼音技术详解(高性能) 下面将源代码贴出.public static class ChineseToPinYin           {               private sta ...

  6. MongoDB@入门一

    安装MongoDB自行搜索, 我这里提供GUI版本类似navicat. 1. 数据库层面 show dbs #查看服务器上的数据库  [local  0.000GB] use test  #切换到指定 ...

  7. Python十分钟入门

    [简介] Python是一种动态解释型的编程语言.Python可以在Windows.UNIX.MAC等多种操作系统上使用,也可以在Java..NET开发平台上使用. [特点] 1. Python使用C ...

  8. Linux 中 x86 的内联汇编

    工程中需要用到内联汇编,找到一篇不错的文章,趁机学习下. 原文地址:http://www.ibm.com/developerworks/cn/linux/sdk/assemble/inline/ 如果 ...

  9. .net中的"异步"-手把手带你体验

    周二刚过,离5.1小长假还有那么一阵,北京的天气已经开始热起来了.洗完澡,突然想起博客园一位大哥暂称呼元哥吧,当时我写了一篇windows服务的安装教程(http://www.cnblogs.com/ ...

  10. 把JSON数据载入到页面表单的两种思路(对easyui自带方法进行改进)

    #把JSON数据载入到页面表单的两种思路(对easyui自带方法进行改进) ##背景 项目中经常需要把JSON数据填充到页面表单,一开始我使用easyui自带的form load方法,觉得效率很低,经 ...