Errata
The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".
The following errata were submitted by our customers and approved as valid errors by the author or editor.
Color key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update
Version | Location | Description | Submitted By | Date submitted | Date corrected |
---|---|---|---|---|---|
Printed | Page 52 Fourth paragraph |
About the code snippet with real underscore variable in scope, the code will not compile because there is an out modifier missing in front of the underscore parameter and not because of the backward compatibility that the preceding paragraph seems to imply. A better example in my opinion would have been: string _; Split("Stevie Ray Vaughan", out string a, out _); Console.WriteLine(_); in order to show that, in this case, the underscore is a real variable and not a discard. Note from the Author or Editor: |
Luigi Valsecchi | Apr 13, 2019 | Jun 21, 2019 |
Printed | Page 59 sixth line |
I find it surprising to see Elvis listed among the "Unary operators." Surely it is binary. Note from the Author or Editor: |
Kim McCall | Feb 13, 2018 | Sep 21, 2018 |
Printed | Page 60 Second actual paragraph |
In discussing the ?? operator you say "If the operand is . . ., as though there were only one operand. I'd suggest "if the left operand " or "If the first operand." Note from the Author or Editor: |
Anonymous | Feb 13, 2018 | Sep 21, 2018 |
Printed | Page 61 1st paragraph |
Very minor issue. Since we're now on C# 7, I'd suggest changing "The ?. operator ... is new to C# 6" to "The ?. operator ... wasnew to C# 6" or (better) "The ?. operator ... is introduced in C# 6." Note from the Author or Editor: |
Kim McCall | Feb 13, 2018 | Sep 21, 2018 |
Printed | Page 114 Paragraph beginning "Because both . . ." |
You should remove the word "both." |
Kim McCall | Feb 15, 2018 | Sep 21, 2018 |
Printed | Page 123 3rd code bock |
In the fourth line of the code, which is the assignment statement, you should make the second occurrence of "int" bold, too. |
Kim McCall | Feb 15, 2018 | Sep 21, 2018 |
Other Digital Version | 170 1st example on public struct Point |
You create 2 Point structures: Point p1 = new Point(); // p1x and p1.y will be 0 Point p2 = new Point(1,1); // p1.x and p1.y will be 1 This is incorrect, p1.x and p1.y will be 0, p2.x and p2.y will be 1. This was proved in debug mode in Visual Studio 2017. Note from the Author or Editor: |
Paul Tooley | Dec 07, 2017 | Sep 21, 2018 |
Printed | Page 183 Examples in paragraph after the caution. |
The comment, for the first line of example code, contains a typo. The variable names, in the code, are "joe" and "bob". Where the comment refers to them as "joe" and "job". var joe = bob; // joe is a *copy* of job Should be: var joe = bob; // joe is a *copy* of bob |
Frank Robertson | Apr 19, 2018 | Sep 21, 2018 |
PDF, ePub | Page 187 Named and Positional Attribute Parameters |
There is an error in following code. [XmlElement ("Customer", Namespace="...")] public class CustomerEntity { ... } I think it should be. [XmlType("Customer", Namespace = "...")] public class CustomerEntity { } Note from the Author or Editor: |
Ondřej Rada | Mar 27, 2019 | Jun 21, 2019 |
Printed | Page 235 etc. Last paragraph before "Comparing Strings" |
The reference points to "Formatting and parsing" on page 249, where only DateTime formatting is discussed. It should instead point to "Formatting and parsing" on page 256, where general formatting is covered. Same applies to - page 249 itself (last paragraph before the scorpion) and - page 230 (Fourth paragraph) - page 247 (First paragraph - not shure with this one, though) |
Wolfgang Jacques | Feb 20, 2019 | Mar 15, 2019 |
Page 324 Figure 7-4 |
The arrows between the nodes have the wrong direction. Next pointers should point to the right direction and Previous pointers should point to the left. |
Yang Shuai | Feb 06, 2019 | Mar 15, 2019 | |
Page 402 "Compiling expression trees" in Chapter 8. |
There is an error in the top of the page. The brackets were forgotten while calling the method IsSelling. IEnumerable<Product> localQuery = localProducts.Where (Product.IsSelling.Compile()); IsSelling() should be written here, not IsSelling. Note from the Author or Editor: |
Nahid Jamalli | Mar 10, 2019 | Mar 15, 2019 | |
Printed | Page 443 table at the bottom |
Description for "AsEnumerable" method should be: "Upcasts to IEnumerable<T>" instead of "Downcasts to IEnumerable<T>". The description on page 446 is already correct: "AsEnumerable upcasts a sequence to IEnumerable<T>, ...". Note from the Author or Editor: |
Dariusz Dacko | Mar 03, 2018 | Sep 21, 2018 |
Printed | Page 599 1. text paragraph |
...that initiate compute-bound currency... should be "concurrency" |
Anonymous | Dec 14, 2018 | Mar 15, 2019 |