书籍推荐:《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,一经查实,立即删除!

相关文章

乌龟棋(dp)

乌龟棋 思路 最优值问题,显然可以通过dpdpdp解决,我们定义dp[i][j][k][l]dp[i][j][k][l]dp[i][j][k][l]表示到达1i∗2∗j3∗k4∗l1 i * 2 * j 3 * k 4 * l1i∗2∗j3∗k4∗l这个点之前已经走过的价值最大的值(i,j,k,li, j, k, li,j,k,l分别是走一步&…

CF 1631 D. Range and Partition 尺取 + 前缀和

传送门 文章目录目录:题意:思路:目录: 题意: 给你一个长度为nnn的数组aaa以及kkk,让你选择一个值域[x,y][x,y][x,y],满足能将该数组分成连续的kkk段并且每段中值域在[x,y][x,y][x,y]内的个数严…

gRPC的简单使用

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

P6282 [USACO20OPEN] Cereal S 思维

传送门 文章目录目录:题意:思路:目录: 题意: 你有nnn头奶牛,mmm中不同种类的麦片,每个麦片只有一箱,给你每个奶牛第一和第二喜欢的麦片,奶牛会先看第一喜欢的是否有&am…

HDU 4417 Super Mario(莫队 + 树状数组 + 离散化)

Super Mario 思路 区间查找问题,容易想到离线莫队,确实这题就是莫队,接下来我们考虑如何维护区间高度值问题。 既然是离线嘛,我们容易想到离散化和他挂钩,想想这题是否需要离散化,高度的最大值是1000000…

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

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

P3085 [USACO13OPEN]Yin and Yang G 点分治

文章目录题意:思路:传送门 题意: 给你一颗nnn个点的树,每条边为黑色或者白色,问满足以下条件的路径条数:路径上存在一个不是端点的点,使得两端点到该点的两条路径上两种颜色的边数相等。 1≤n…

G. Xor-MST(异或最小生成树)

G. Xor-MST 思路 异或最小生成树,这里采用了一种分治的方法来贪心求解最值: 首先我们对所有的点权值从小到大排个序,从高位开始在中间找到一个这个位置上的0,10,10,1分界点分成两个集合,然后…

CF 1638 E. Colorful Operations set 区间平推

文章目录题意:思路:传送门 题意: 给你一个数组aaa,初始价值全为000,颜色全为111,让后让你实现以下三个操作: 将[l,r][l,r][l,r]区间内的颜色都染成ccc。将所有颜色为ccc的位置价值都加上xxx。…

B Graph(异或最小生成树)

Graph 思路 图是联通的,并且加边的时候要保证环一定是异或值为0,所以我们可以保证从一个点到另一个点的路径异或值是不变的,这个时候就简单了,不就是一个异或最小生成树了嘛。 我们只要预处理一下,任选一个点作为根…

Apollo 配置中心:分布式部署

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

CF 1637 D. Yet Another Minimization Problem dp + 思维

文章目录题意:思路:传送门 题意: 给你两个长度为nnn的数组a,ba,ba,b,每次交换可以选择一个iii,交换ai,bia_i,b_iai​,bi​,最小化∑i1n∑ji1n(aiaj)2∑i1n∑ji1n(bibj)2\sum_{i1}^n \sum_{ji1}^n(a_ia_j)…

各种逆元推导

逆元 求解一(费马小定理) ppp是一个质数,并且a%p̸0a \% p \not 0a%p​0,则有ap−1≡1(modp)a ^ {p - 1} \equiv 1 \pmod pap−1≡1(modp),ap−2≡a−1a ^ {p - 2} \equiv a ^ {-1}ap−2≡a−1,即可得到…

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

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

CF 1635 D. Infinite Set 思维 + 二进制

文章目录题意思路传送门 题意 给你一个集合SSS,初始集合内含有nnn个数,让后按照一下三个规则无限的向集合中添加数: 对于所有的1≤i≤n,xai1\le i\le n,xa_i1≤i≤n,xai​都在集合中。对于所有的x2y1,y∈Sx2y1,y\in Sx2y1,y∈S&#xff0c…

2020杭电多校(二) New Equipments(最小费用最大流)

New Equipments 思路 数据已经有提示了b∗b<4∗a∗cb * b < 4 * a * cb∗b<4∗a∗c&#xff0c;这意味着&#xff0c;每一个a,b,ca, b, ca,b,c构成的二元一次方程只与xxx坐标最多相交一次&#xff0c;所以我们对每一个a∗i∗ib∗icya * i * i b * i c ya∗i∗ib∗…

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

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

CF 1635E Cars 二分图 + 拓扑

文章目录题意思路传送门 题意 给你nnn个点&#xff0c;需要给每个点定向&#xff0c;方向可以向右或者向左&#xff0c;定向之后点会朝选择的方向移动&#xff0c;要求满足mmm个条件&#xff0c;两种不同的条件如下&#xff1a; i,ji,ji,j两个位置定向之后移动不会相遇。i,ji…

[CQOI2007]涂色PAINT

[CQOI2007]涂色PAINT 思路 显然我们可以考虑用dpdpdp来求解问题&#xff0c;碰到那种一眼没思路的题稳是dpdpdp没跑了&#xff0c;那么我们就往dpdpdp方面去考虑吧。 我们定义dp[i][j]dp[i][j]dp[i][j]&#xff0c;表示把[i,j][i, j][i,j]这个区间涂上颜色要用多少步&#x…

ASP.NET 自定义项目模板

前言在微服务架构盛行的时代&#xff0c;一言不合就新建一个服务&#xff0c;虽然搭建服务并没什么难度&#xff0c;但不可避免的是每个人搭建出来的架子会存在差异&#xff0c;这很合理&#xff0c;因为每个开发者的个人风格、工作经验都不一样&#xff0c;难免认为自己喜欢的…