前言

读到一篇.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. hdu3231 (三重拓扑排序) 2009 Asia Wuhan Regional Contest Hosted by Wuhan University

    这道题算是我拓扑排序入门的收棺题了,卡了我好几天,期间分别犯了超时,内存溢出,理解WA,细节WA,格式WA…… 题目的意思大概是在一个三维坐标系中,有一大堆矩形,这些矩形的每条棱都与坐标轴平行. 这些 ...

  2. Oracle 存储过程的创建,及触发器调用存储过程

    一.创建存储过程 1.存储过程写法 create or replace procedure HVM_BYQ_TJ --变压器统计信息--->入库 (id in number) as begin ...

  3. hdu 2087-剪花布条(KMP)

    题意: 求文本串最多可以分成几个模式串. 分析: KMP #include <map> #include <set> #include <list> #includ ...

  4. [BILL WEI] A potentially dangerous Request.Path value was detected from the client 异常处理办法

    我们在ASP.net中使用URL导向后, 我们在访问某个地址,或者打开某个系统页面的时候,就会报错误: A potentially dangerous Request.Path value was d ...

  5. leetcode@ [316] Remove Duplicate Letters (Stack & Greedy)

    https://leetcode.com/problems/remove-duplicate-letters/ Given a string which contains only lowercase ...

  6. HDU-4726 Kia's Calculation 贪心

    题目链接:http://acm.hdu.edu.cn/userstatus.php?user=zhsl 题意:给两个大数,他们之间的加法法则每位相加不进位.现在可以对两个大数的每位重新排序,但是首位不 ...

  7. DedeCMS Error:Tag disabled:"php"的解决办法

  8. linux@64 获取时间的性能评估

    听人说gettimeofday 在64bit下有缓存,速度很快,测试下了,感觉不对啊.. #include <time.h> #include <sys/time.h> #in ...

  9. ocp 1Z0-047 131-276题解析

    131. Which view would you use to display the column names and DEFAULT valuesfor a table?A. DBA_TABLE ...

  10. UVA 796 - Critical Links (求桥)

    Critical Links  In a computer network a link L, which interconnects two servers, is considered criti ...