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 |
---|---|---|---|---|---|
Page 15-16 list of reserved keywords and list of contextual keywords |
The keyword 'in' appears in both the reserved keyword list and the contextual keyword list. Note from the Author or Editor: |
Anonymous | Dec 08, 2015 | Dec 18, 2015 | |
Printed | Page 15 List after second paragraph. |
Item "longnamespace" should be two different items "long" and "namespace". |
Steve Beaudoin | Feb 20, 2016 | Apr 01, 2016 |
Page 25 Paragraph under the heading: Bool Conversions |
The Paragraph: "No conversion can be made from the bool type to numeric types or vice versa." |
Avi Farah | Jul 17, 2015 | Nov 03, 2015 | |
Printed | Page 29 Specialized Integral Operations -> Integral Division -> first paragraph |
Keywords and identifiers in normal text are divided wherever the line ends - in this case 'DivideByZeroException' is separated into 'Divid' at the end of the second line of the paragraph and 'eByZeroException' at the beginning of the third line. Note from the Author or Editor: |
Klaus Jonke | Jan 19, 2016 | Apr 01, 2016 |
Page 36 2nd piece of code from bottom |
The code: Note from the Author or Editor: |
Bhavesh | Oct 15, 2016 | Apr 14, 2017 | |
Printed | Page 37 Second paragraph in String Interpolation section |
You discuss how to format an interpolated string in this section, but not how to pad it. However, you appear to demonstrate this feature much later (pg. 1050) without any discussion: Note from the Author or Editor: |
Jason | Oct 22, 2016 | Apr 14, 2017 |
Page 49 1st aside (caution or warning) |
The text: |
Bhavesh | Oct 15, 2016 | Apr 14, 2017 | |
Page 49 3rd paragraph |
There is typo in second word "nameSpace" |
AntonS | Aug 22, 2015 | Nov 03, 2015 | |
Printed | Page 56 line 25 |
string s = (sb == null ? "nothing" : sb.ToString()); // the original line Note from the Author or Editor: |
Wenbo Zhao | Feb 10, 2017 | Apr 14, 2017 |
Page 75 2nd paragraph |
The text: Note from the Author or Editor: |
Bhavesh | Oct 20, 2016 | Apr 14, 2017 | |
Page 101 Structs section, last para |
this incurs a useful savings when Note from the Author or Editor: |
Bhavesh | Oct 30, 2016 | Apr 14, 2017 | |
Printed | Page 115 Example under 3rd paragraph |
In the example that shows the effective substitution for Stack<int> the line: |
Andrew Charlton | May 11, 2016 | Aug 12, 2016 |
Page 187 Paragraph under the heading Pointer Basics |
Should the sixth word in "For every value type or pointer type V, there is a corresponding pointer type V*." be reference instead of pointer? Note from the Author or Editor: |
Anonymous | May 05, 2016 | Aug 12, 2016 | |
Page 196 3rd paragraph from bottom |
void Z(char[ ] 1, float[,] p2) {...} |
Bhavesh | Apr 08, 2017 | Apr 14, 2017 | |
Page 219 last para |
CompareTo instance method or |
Bhavesh | Apr 24, 2017 | ||
Printed | Page 233 Paragraph above the Warning box |
Within the section "Formatting and parsing" on page 233 there is the text 'ToString is overloaded to accept a format string and provider... |
Andrew Charlton | May 17, 2016 | Aug 12, 2016 |
Printed | Page 570 General note under "Locking and Thread Safety" |
The text says 'For a full discussion, see ... and "Locking and Thread Safety' on page 570 in Chapter 22.' The page reference should be 912. |
Andrew Charlton | Jun 01, 2016 | Aug 12, 2016 |
Printed | Page 585 1st paragraph of the notice. |
At the end of the paragraph, "we wouldn't care if turns out..." should probably be "we wouldn't care if it turns out...". |
sbeaudoin | Mar 02, 2016 | Apr 01, 2016 |
Printed | Page 586 Last paragraph. |
In the last phrase, "on page 585 in chapter 23.". Chapter 23 starts at page 945. Note from the Author or Editor: |
sbeaudoin | Mar 02, 2016 | Apr 01, 2016 |
Page 591 First paragraph |
The expression, "course-grained" should be "coarse-grained". |
Gareth Erskine-Jones | Jan 13, 2017 | Apr 14, 2017 | |
Page 593 method DisplayPrimeCountsFrom(int i)... |
void DisplayPrimeCountsFrom (int i) |
stt106 | Feb 15, 2017 | Apr 14, 2017 | |
Page 596 second to last paragraph |
Upon first executing GetPrimesCount..., it should be GetPrimesCountAsync. |
stt106 | Feb 16, 2017 | Apr 14, 2017 | |
Printed | Page 772 First sentence in section ".resource Files" |
The sentence "The Framwork also lets you add .resource files are... does not quite make sense. Possibly this should read "...add .resource files, which are..." |
Andrew Charlton | Nov 11, 2016 | Apr 14, 2017 |
Printed | Page 861 end of first code block |
ScriptEngine does not have a GetVariable method. The GetVariable method is defined on ScriptScope, and requires a single string argument specifying the name of the variable you wish to retrieve. Note from the Author or Editor: |
Jason | Jan 16, 2016 | Apr 01, 2016 |
Printed | Page 920 3rd paragraph |
The text indicates that a number is appended to the list every second, but the argument passed to Thread.Sleep is only 100 (milliseconds), which is one tenth of a second. Note from the Author or Editor: |
Jason | Feb 17, 2016 | Apr 01, 2016 |
Printed | Page 1058 5th paragraph |
The word "this" is missing from the following sentence: "We can fix (this) by calling NormalizeWhitespace..." |
Jason | Sep 03, 2016 | Apr 14, 2017 |
Printed | Page 1059 2nd paragraph in CSharpSyntaxRewriter section |
The first sentence in this paragraph refers to the section on the CSharpSyntaxWalker class as "SyntaxSyntaxWalker". Note from the Author or Editor: |
Jason | Jun 30, 2016 | Aug 12, 2016 |
Printed | Page 1059 4th paragraph |
The output shown is inconsistent with the call to NormalizeWhitespace on unit, which would insert carriage returns in the following locations in the output: after the semicolon, after "Program" and after the opening curly brace. Note from the Author or Editor: |
Jason | Sep 03, 2016 | Apr 14, 2017 |
Printed | Page 1064 Code listing in 2nd paragraph |
The expression location.MetadataModule == compilation.References.Single() evaluates to False, not True as indicated. This is consistent with the fact that the operands are of different types (IModuleSymbol and MetadataReference, respectively). Note from the Author or Editor: |
Jason | Sep 08, 2016 | |
Printed | Page 1070 1st code block |
While it does not affect the example, in the Program class in which symbols are renamed, the Foo declaration and usages are not consistent. Either the Foo call in Main should be static since it is defined statically, or the signature of Foo should be changed so that it is in fact an instance method and the instance call in Main can remain. This latter option also requires a change to the static call to Foo in Bar. Note from the Author or Editor: |
Jason | Sep 20, 2016 |