前言

读到一篇.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. WPF如何在同一个区域依次叠加显示多张图片呢?

    正如标题的问题,有时需要在已显示的图片的右上角(或其他区域)显示小图标,譬如下图的患者头像右上角显示病情图标:(这里不采用事先用PS编排成一个图片文件的方式,因为此方式普适性不好) 解决方案:绘制该复 ...

  2. 仿酷狗音乐播放器开发日志二十七 用ole为窗体增加文件拖动功能(附源码)

    转载请说明原出处,谢谢~~ 中秋到了,出去玩了几天.今天把仿酷狗程序做了收尾,已经开发完成了,下一篇博客把完结的情况说一下.在这篇博客里说一下使用OLE为窗体增加文件拖拽的功能.使用播放器,我更喜欢直 ...

  3. 【和我一起学python吧】初学Python,版本如何选择?

    早在四年多以前,在我进入英才网之前,去面试过一家海归创业的公司.他们需要的是有unix开发经验的技术人员,但是因为他们当时所处的阶段对很多成熟 技术人员不是很吸引,所以条件放宽为熟悉面向对象的程序开发 ...

  4. bzoj 3629 [JLOI2014]聪明的燕姿(约数和,搜索)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3629 [题意] 给定S,找出所有约数和为S的数. [思路] 若n=p1^a1*p2^a ...

  5. WinDriver&PCIE

    1.安装VS2012 安装VS2012略过,主要用它来做数据传输应用程序的,WINDRIVER提供了一系列API接口,方便了用户,使用户能直接进入用户态的编程,因为内核态的编程它已做好,不需要进行修改 ...

  6. ubuntu使用问题与解决记录[持续更新]

    1. 添加到计划任务 为脚本增加可执行权限 sudo chmod +x yeelink.sh 将脚本加入cronjob(计划任务) sudo crontab -e 在cornjob文件中添加下面一行, ...

  7. Windows下GNU之gcc体验方法

    Windows 现在在Windows下开发C/C++程序一般都是用微软的编译器,当年的Borland已经成为传说.但是如果你不想付钱的话,也可以考虑Windows下的GCC. 在Windows下体验G ...

  8. homework-02 最大子区域和

    题目描述 题目建立上一个作业的题目基础上,上一次作业是要求在一个一维序列里找一个最大连续子串,这次task最基础的要求是在一个二维表里找一个最大连续子矩形,但是这次作业有若干个升级版,分别要求可以加入 ...

  9. Myeclipse2014破解激活

    eclipse使用的很顺手了,但是为了提高学习的效率(Myeclipse创建web项目的时候可以自动生成一些配置文件),在JSP和servlet的学习阶段,我选择使用Myeclipse,这个问题困扰了 ...

  10. Laravel Configuration

    Introduction All of the configuration files for the Laravel framework are stored in the app/config d ...