书籍推荐:《C#7.0本质论》

640?wx_fmt=jpeg

在dotNet平台中有多种开发语言可以使用,C#无疑是其中应用得最为广泛的。学习一门编程语言最好的方式就是找一本好书系统地学习,我读过的关于C#的书籍中,我认为下面三本最为经典:

  • 《C#本质论》:入门类,目前最新为《C#7.0本质论》

  • 《C# in Depth》:技巧类,目前最新第四版

  • 《CLR via C#》:底层原理类,目前最新第四版

之前看过《C#本质论》的第四版,最近拿到了最新的《C#7.0本质论》,近700页,也算是一个大部头了,因为内容比较熟悉,所以花来一两个星期就快速地略看了一遍。不要以为我归类为入门类就以为很简单,书中依然有很多高级的内容可以用来进阶,有经验的开发人员依然可以从中收获良多,并且可以作为进一步阅读《CLR via C#》的一个桥梁。

下面我谈谈我最近看了这本最新版本的感受。

翻译

阅读中译本的书,翻译质量是非常重要的,最怕的就是中文字都认识,就是不知道什么意思,还不如读原版。本书的译者是周靖,他同时也是《CLR via C#》第二三四版的译者,专业技能上没有问题,通读下来还是非常流畅,表达清晰,我觉得这就够了。

结构

一本书的内容再好,如果组织结构和排版很差,会让人不想去读或读不进去,本书在这方面我认为还是很用心的。

思维导图

平时的工作中,思维导图用的非常多,所以在本书的每一章开头看到有思维导图感觉非常亲切。每章的思维导图就是每章内容的提纲,可以让我们快速熟悉这一章节的相关知识点,并建立自己的知识体系。看完一个章节后,再回过头看看这个思维导图的内容,也便于复盘知识点是否完全掌握了。

版本标示

编程语言的发展非常的迅速,每个版本中都会新增很多新的特性,很多系统讲解的书,很难体现每个版本的变化,像《C# in Depth》这类讲解特性的书感觉又不是很系统。本书通过在页面的侧边加上Begin、End的标记完美地解决了这一问题,让我们系统学习语言的同时又能很方便地了解每个版本的变化。

640?wx_fmt=png

上图中是C#6.0对异常处理的一个特性,有了这个标记可以快速地定位到语言特性讲解的范围。并且在合上书的时候在书的侧面也能够看出哪些地方有这些标记,方便定位和查找。

这种Begin、End的标记从2.0到7.0,因为本书是7.0本质论,所以7.0的背景颜色最深,2.0最浅。

内容

只是有好的结构和排版,内容不好,我们很容易可以读完一本书,但收获甚少,本书在内容上有下面一些亮点。

设计规范

学习编程语言的语法,可以让我们写出能运行的程序,同样的一个功能10个程序员写出的代码可能都不相同,有的优雅高效,有的逻辑混乱。本书在每个章节中穿插着大量的「设计规范」,可以给我们很好的指引,避免入坑。

分类解说

考虑到阅读本书人员的水平的不同,本书在每个章节中重点突出显示了初学者主题和高级主题,让不同的人员可以各取所需。

考虑到有从其他开发语言转学C#的,书中有大量语言特性和其他语言对比的讲解,涉及到Java、C++、VB.NET等。

示例代码

  • 书中的示例代码没有平台依赖性,也就是说Windows和Mac上都能运行,这个对我这种Mac用户来说比较友好

  • 关键字加粗,关键代码有背景色区分,看起来比较清晰

总结

如果说想要用一本书来系统学习C#语言,那么这本《C#7.0本质论》将是首选。

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/314468.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gRPC的简单使用

前言八月初的时候,在公司内部做了一个主题为《gRPC的简单使用》的分享,其实就是和小伙伴们扯扯淡,现在抽空回忆一下,也算是一个小小的总结吧。现在市面上耳熟能详的RPC框架也很多,下面列举几个遇到比较多的。谷歌的gRP…

生命周期结束,Spring Boot 1.x退役

一年前 Spring 官方宣布 Spring Boot 1.x 生命周期将于今年 8 月 1 日结束,如今时间已到,在发布 Spring Boot 1.5.22 的同时,Spring 确认将不再为 1.x 系列发布维护版本。官方希望用户尽快迁移到 Spring Boot 2.x 上,为此还制作了…

Apollo 配置中心:分布式部署

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。服务端…

使用Redis实现最近N条数据的决策

前言很多时候,我们会根据用户最近一段时间的行为,做出一些相应的策略,从而改变系统的运动轨迹。举个简单的例子来说明一下:假设A公司现在有两个合作伙伴(B和C),B和C都是提供天气数据的,现在A公司做了一个聚…

为什么我不喜欢数据库三范式

插曲最近,一个远房亲戚的小表弟准备选修专业找到我问:"哥,现在学数据库有没有前途阿?""当然有啊,前途大大的呢""那我现在开始学数据库,需要先从什么开始呢?""学课程的话&#xf…

硬货 - 技术人也能轻松玩转公众号?正确姿势竟然是...

最近在知乎上看到关于「公众号是否有“前”途」的相关问题... 问题下面有些精华回答~微信公众号还有“前”途吗? - 知乎https://www.zhihu.com/question/324575670很好的问题!作为一个技术人,我决定将此问题和自身情况结合起来,于…

你必须知道的Dockerfile

本篇已加入《.NET Core on K8S学习实践系列文章索引》,可以点击查看更多容器化技术相关系列文章。本文预计阅读时间为5分钟。01—关于Dockerfile在Docker中创建镜像最常用的方式,就是使用Dockerfile。Dockerfile是一个Docker镜像的描述文件,我…

RabbitMQ 死信/死信队列

一、RabbitMQ 死信/死信队列1、DLXDead Letter Exchange 的缩写DLX(Dead Letter Exchanges)死信交换,死信队列本身也是一个普通的消息队列,在创建队列的时候,通过设置一些关键参数,可以将一个普通的消息队列…

centos7 rabbitmq安装/配置

一、RabbitMQ简单介绍RabbitMQ就是当前最主流的消息中间件之一。RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支…

Hyper-V + CentOS7 安装视频教程

一、前言本文使用图文视频的方式展示安装Centos7,【喜欢看视频学习的童靴请拖至文尾观看视频】二、虚拟机配置指定虚拟机名称&安装位置选择虚拟机代数 第一代虚拟机(例如Server 2008等平台技术,支持Vista、Win7) 第二代虚拟机…

程序员修神之路--用NOSql给高并发系统加速

领取福利记得长按,领取技术书籍哦随着互联网大潮的到来,越来越多网站,应用系统需要海量数据的支撑,高并发、低延迟、高可用、高扩展等要求在传统的关系型数据库中已经得不到满足,或者说关系型数据库应对这些需求已经显…

限时团购,6.5折:《C# 7.0 核心技术指南》

大家好,经过近两年的翻译,《C# 7.0 核心技术指南》终于和大家见面了。全书由 ThoughtWorks 高级咨询师,资深 .NET 专家刘夏翻译。作为一本第七次再版的图书,此次翻译对书中的字句进行了重新整理。期间和图书的原作者 Joe Albahari…

Azure 命令行工具大混战,都是什么,该选哪个?

点击上方蓝字关注“汪宇杰博客”导语最近在学习 Azure 的命令行玩法,发现官方有不止一种命令行工具,容易对新手产生混淆,本文将介绍各种工具都是干啥的,以及如何选择。目前,微软官方有3个Azure命令行工具,分…

揭秘鸿蒙生态背后的DevOps实践

(图片来源于网络)8月9日,华为发布了鸿蒙操作系统,在发布会上我们看到了鸿蒙系统的研发历程:2017年,鸿蒙内核1.0完成技术验证;2018年,鸿蒙内核2.0用于终端TEE;2019年&…

AT3557 Four Coloring 切比雪夫距离 + 四色构造

传送门 由于曼哈顿距离在图上显示的是一个棱形,并不是很好看,所以我们将其旋转454545,转换成切比雪夫距离,这样就变成了一个正方形,正方形内部的点距离都不超过ddd,此时可以将正方形内部的点看成一个整体&a…

SonarQube系列一、Linux安装与部署

来源:https://www.cnblogs.com/7tiny/p/11269774.html【前言】随着项目团队规模日益壮大,项目代码量也越来越多。且不说团队成员编码水平层次不齐,即便是老手,也难免因为代码量的增加和任务的繁重而忽略代码的质量,最终…

P2906 [USACO08OPEN]Cow Neighborhoods G 切比雪夫距离 + 并查集 + set

传送门 考虑将曼哈顿距离转换成切比雪夫距离,这样问题就变成了max(∣x1−x2∣,∣y1−y2∣)≤dmax(|x_1-x_2|,|y_1-y_2|)\le dmax(∣x1​−x2​∣,∣y1​−y2​∣)≤d,这个式子就很好看了,我们首先按照(x,y)(x,y)(x,y)排序,让后我…

2018-2019 ACM-ICPC, Asia Shenyang Regional Contest E. The Kouga Ninja Scrolls 切比雪夫距离 +线段树

传送门 将曼哈顿距离转换成切比雪夫距离,现在就是求max(∣x1−x2∣,∣y1−y2∣)max(|x_1-x_2|,|y_1-y_2|)max(∣x1​−x2​∣,∣y1​−y2​∣),显然我们可以将x,yx,yx,y分开考虑,下面以xxx为例。 考虑一段区间内不同门派的最大值和最小值&am…

ASP.NET Core 框架本质学习

本文作为学习过程中的一个记录。学习文章地址:https://www.cnblogs.com/artech/p/inside-asp-net-core-framework.html一. ASP.NET Core 框架上的 Hello World程序public class Program{public static void Main()> new WebHostBuilder() .UseKestrel() …

基于C#实现的轻量级多线程队列

工作中我们经常会遇到一些一些功能需要实现造作日志,数据修改日志,对于这种业务需求如果我们以同步的方式实现,难免会影响到系统的性能。如下我列出集中解决方案。使用Thread异步处理。使用线程池或Task异步处理。以上两种方案确实能解决我们…