前言

读到一篇.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. UITextField限制字数的方法

    转:http://blog.csdn.net/marujunyy/article/details/9985411 在输入东西的时候,如果想限制最大字数,可以用下面方法: - (BOOL)textFie ...

  2. Android -- Support包特性

    干货 每一个 Support 包版本后缀 vX 所代表的含义是他能够被使用的最低版本等级.之所以无法在更低版本进行使用的原因,是因为随着版本的升级,在新版本中有很多之前不支持的特性或者 API,因此如 ...

  3. (原创)LAMP教程5-配置VirtualBox虚拟机中centos6.4的网卡

    (原创)LAMP教程5-配置VirtualBox虚拟机中centos6.4的网卡 是的,今天我们要讲的是如何配置VirtualBox虚拟机中centos6.4的网卡,毕竟我们是要做网站开发的,没有网络 ...

  4. HNU 13108-Just Another Knapsack Problem (ac自动机上的dp)

    题意: 给你一个母串,多个模式串及其价值,求用模式串拼接成母串(不重叠不遗漏),能获得的最大价值. 分析: ac自动机中,在字典树上查找时,用dp,dp[i]拼成母串以i为结尾的子串,获得的最大价值, ...

  5. asp.net MVC 安全性[笔记]

    1. 跨站脚本(XSS) 1.1 介绍 1.1.1 被动注入,利用输入html,javascript 等信息伪造链接,图片等使用提交信息,调转页面等 1.1.2 主动注入,黑客主动参与攻击,不会傻等倒 ...

  6. jq实现图片轮播:圆形焦点+左右控制+自动轮播

    来源:http://www.ido321.com/862.html html代码: 1: <!DOCTYPE html> 2: <html lang="en"&g ...

  7. 搭建Titanium开发环境

    轻松制作 App 再也不是梦! Titanium Mobile 让你能够使用你所熟悉的 web 技术,制作出如同使用Objective-C 或 Java 写出的 Native App. 除了有多达三百 ...

  8. Apache Spark BlinkDB

    BlinkDB是一个用于在海量数据上进行交互式SQL的近似查询引擎. 它允许用户通过在查询准确性和查询响应时间之间做出权衡,完成近似查询. 其数据的精度被控制在允许的误差范围内. 为了达到这个目标,B ...

  9. homework-03

    1.分工准备 这次的工作是结对编程,在第二次作业中我是使用python完成的作业,而小明是使用C完成的作业.因为打算使用动态链接库的方式将第二次的代码嵌入到本次的作业中,而python生成动态链接库不 ...

  10. [转]解决百度统计 gzdecode(): insufficient memory

    百度统计API gzdecode($preLogin->retData, strlen($preLogin->retData)) 这段代码会造成一个PHP警告内存不足,解决办法只要换个解压 ...