由于语言出现重大变化,加上错过了本书上一版的翻译,所以这一版的任务很重。除了进行全面校订,还和作者进行了积极良好的沟通。呈现在您面前的,正是这一切努力的成果。
京东>> 淘宝>>
下载配套资源和试读中文PDF电子书 ys168网盘 百度网盘
英文版GitHub项目,Download或Clone>>
2024.6更新:《C# 12.0本质论》已确定由我翻译,并会于近日出版。GitHub项目
2024.10更新:《C# 12.0本质论》已出版:中文版主页
对于已经精通C#的人,本书可供您参考不太常见的语法。此外,对于在其他地方强调较少的一些语言细节以及微妙之处,作者提出了自己的见解。最重要的是,本书提供了编写可靠和易维护代码的指导原则及模式。您教别人学C#时,本书也颇有助益。从C# 3.0到C# 7.0最重要的一些增强包括:
- 字符串插值(第2章)
- 隐式类型的变量(第3章)
- 元组(第3章)
- 模式匹配(第4章)
- 扩展方法(第6章)
- 分部方法(第6章)
- 泛型(第12章)
- Lambda语句和表达式(第13章)
- 表达式树(第13章)
- 匿名类型(第15章)
- 标准查询操作符(第15章)
- 查询表达式(第16章)
- 动态编程(第18章)
- 用任务编程库(TPL)和async进行多线程编程(第19章)
- 用PLINQ进行并行查询处理(第19章);
- 并发集合(第20章)
本书是语言参考书,遵循核心C# Language 7.0 Specification。为了帮助读者理解各种C#构造,书中用大量例子演示了每一种特性,而且为每个概念都提供了相应的指导原则和最佳实践,以确保代码能顺利编译、避免留下隐患,并获得最佳的可维护性。为增强可读性,所有代码均进行了特殊格式处理,而且每章内容都用思维导图来概括。
==========勘误开始==========
1. P.52第一行:这样定义的number变量只有if语句内部的作用域,在外部不可用。
改成:这样定义的number变量在if语句的true和false结果中都可用,甚至在if语句的外部也可用。
或者:这样定义的number变量除了有if语句内部的作用域,在外部也可用。
译注:“外部也可用”,这个外部也是有边界的。边界就是包含if的那个块的范围。例如:
{
if (double.TryParse(input, out double number)) { number在这里可用 }
else { number在这里可用 }
…
number在这里可用
}
number在这里不可用
2. P.45,倒数第一段,第一行:如有大量字符串需要修改
改成:如果要对字符串进行大量修改
3. P.174,倒数第一行:初始化为字段
改成:初始化字段
4. P.470,第2段,倒数第2行:LINQ Provider为标准集合提供了“解释”机制。
改成:LINQ Provider为标准集合提供了“拦截”机制。
5. P.559 ,倒数第4段:dynamic涉及一个解释机制,要先编译再….。这会造成另一个解释调用位置….
将所有“解释”改为“拦截”。
=========以下提交时无误,出版社改错 ============
P.132 输出5.1,第4行输出应为“Hello Inigo Montoya! Your initials are I. M.”。
P.235 代码清单7.13,private void Run()改为public void Run()
P.11 代码清单1.4 图注“方法说明”改为“方法声明”
==========勘误结束==========
关于《Essential C# 7.0》:
中文版ISBN:9787111625681
英文版ISBN:9781509303588
原著:Mark Michaelis
技术编辑:Eric Lippert
翻译:周靖
实体书我京东买了,现在到kindle上怎么找不到这本书了
1、P533,代码清单18.3,catch代码块中 errorMessage = errorMessage = @”…”,貌似”errorMessage=”多了一行。
2、P578,19.3.2节中,“工作者线程向控制台写入加号,主线程写入连字号”似乎是写反了,因为下文中代码清单19.3主线程是向控制台写入加号,工作者线程写入连字号。
1、P187,代码清单6.18
//LastName property
public string LastName
{
get => _FirstName;
set => _FirstName = value;
}
应该是:
//LastName property
public string LastName
{
get => _LastName;
set => _LastName = value;
}
2、P188,代码清单6.19也有上面相同的错误
3、P311,“coordinate = new Coordinate(43, 172);).”感觉后面多了“).”
4、P343,最后一段第一行,“因其得到构建良好”,感觉应该是“因其得到良好构建”
5、P386,第2段“本意讲述如何创建…”中的“意”应该是“章”
1.P11 代码清单1.4:“方法说明”正确吗 不应该是“方法声明”吗 抱歉没找到英文版无法考证,仅猜测;
2.P12 下半页 “…要执行的一个或多个行动构成” 多了个“动”字
P11. 代码清单1.4的图注:本来提交的“方法声明”,被编辑改错了。
P12.下半页“每条语句….由要执行的一个或多个行动构成”,这里确实是“行动”,而不是“行”。“行”不是语句的构成要素。原文: C# generally uses a semicolon to indicate the end of a statement, where a statement comprises one or more actions that the code will perform.
个人觉得在此处的意思应该翻译为动作,意即执行或完成一个或多个动作的意思更合理。
动作也不错 🙂
代码清单6.22所对应的github的源代码中
public string LastName
{
get => _FirstName;
set => _LastName = value;
}
应为
public string LastName
{
get => _LastName ;
set => _LastName = value;
}
书里没错,代码错了
github已更新(https://github.com/IntelliTect/EssentialCSharp)
请重新Download或者Clone
第二章,代码清单2.30 下面一段话。
“这样定义的number变量只有if语句内部的作用域,在外部不可用”
我测试的时候,在外部是可以用的,下面的代码输出的结果是:
“newNum的值为2147483647”
我不知道是不是我理解的有问题:
using System;
namespace Out内联测试
{
class Program
{
static void Main(string[] args)
{
long num = int.MaxValue;
if (!int.TryParse(num.ToString(), out int newNum))
{
}
Console.WriteLine($"newNum的值为{newNum}");
Console.ReadKey();
}
}
}
已确认。正在跟作者协商怎么修改。
参考1:https://github.com/IntelliTect/EssentialCSharp/issues/118
参考2:https://stackoverflow.com/questions/44981889/scope-of-variable-with-out-parameter
已和作者沟通并勘误。
c# 本质论,131页与132页的 输出例子 有BUG 输出与代码不符合 应该输出 Hello 变量your initial are 变量, 你输出的是 your full name is *****
好吧 可能看错了 这个输出是5.1的 这里都是5.2的 再去找 5.2的输出 136页,感觉又对不上,感觉怎么那么混乱,136页的输出 不是5.3的吗
谢谢,核实后会加入勘误。
代码清单5.4的输出错误已加勘误。
书中的“输出5.1” “输出5.2”等等,只是“输出”自己的编号,而非“代码清单5.1的输出” “代码清单5.2的输出”。
为啥6.0的封面写着“周靖 庞燕译”,却说“错过了本书上一版的翻译”,难道是因为6.0照搬的是5.0的部分翻译?
翻了下旧博文才了解到事情始末,原来如此。
纳闷的~在作者简介中的技术编辑简介,人员介绍里面有Eric Lippert不在stackoverflow回答用户C#问题,不在就不在,为嘛还说出来???
不在StackOverflow上回答用户的C#问题或者编辑程序书时,他总是喜欢玩他的小帆船。
是说这一句?
他在stackoverflow上太。。。活跃
您好,马上都夏天啦。。。。。
sigh
已经可以买了,
封面都变了?京东看到的是175.
是的,中文版必须做自己的封面
五月6日就立夏了,等喜欢的东西每一天都觉得好漫长,希望出版过程会顺利,祝好。
谢谢。
请问,可以购买到PDF版本吗?
要看出版社的决定
C# 7.0本质论(英文版)
http://product.china-pub.com/8056988
https://item.jd.com/43227125892.html
https://item.jd.com/42606164653.html
这本书已经上线,在京东和天猫都可已购买了。
请问大概什么时候可以购买呢?
大约在春季
您的书基本全买了。买了本6的,后来发现竟然不是您的译本。所以非常期待这本7的版本。不知道什么时候能买到呢?
大约在春季
请问译者本书中文版翻译是否完结并准备出版了呢?
译稿已交出版社加工。后续流程就由他们控制了。
请问大概什么时候能上市呢?