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 99 list of operators in Enum Operators Section |
I believe that the second - (minus) operator should be -- (decrement) Note from the Author or Editor: |
guest | May 25, 2011 | Jun 03, 2011 |
Printed | Page 18 2nd paragraph |
The sentence "If we repeat the previous example, but with Point now a class, an operation to X affects Y:" is a bit misleading. |
Jonas Collberg | May 09, 2011 | Jun 03, 2011 |
Printed, PDF | Page 39 in pdf, 38 in print 2nd paragraph |
"fields are implicitly assigned to a default value": the "to" should be deleted. Note from the Author or Editor: |
richard.albury | May 01, 2011 | Jun 03, 2011 |
Printed | Page 291 Text before 5th listing |
Should be IntersectWith instead of IntersectsWith. Note from the Author or Editor: |
AlvinMinring | Apr 06, 2011 | Jun 03, 2011 |
Printed | Page 166 4th code snippet |
The following example is used to illustrate the fact that casting a dynamic expression to a static type yield a static expression: Note from the Author or Editor: |
AlvinMinring | Apr 04, 2011 | Jun 03, 2011 |
Printed | Page 152 First section, 3rd paragraph. |
In the 'Null Coalescing operator' section, it is stated that the difference between using ?? and calling GetValueOrDefault with an explicit default value is that "the expression passed to GetValueOrDefault is never evaluated if the variable is not null". Note from the Author or Editor: |
AlvinMinring | Mar 31, 2011 | Jun 03, 2011 |
Printed | Page 720 3rd paragraph |
By convention, their names are csn3ed Note from the Author or Editor: |
Vincent Croquette | Mar 11, 2011 | Jun 03, 2011 |
Printed | Page 930 Just after Using Asynchronous Methods |
Let?s rite a simple Note from the Author or Editor: |
Vincent Croquette | Mar 09, 2011 | Jun 03, 2011 |
Printed | Page 686 3 lines from the bottom |
There is an extra 'd' at the end of the line. Note from the Author or Editor: |
Larry Hutcherson | Mar 03, 2011 | Jun 03, 2011 |
Printed | Page 885 2nd sentence of last paragraph on page |
The 2nd sentence states : |
JimboT | Feb 22, 2011 | Jun 03, 2011 |
Printed | Page 871 Second and third sentences of first paragraph after code |
The second and third sentences state : |
JimboT | Feb 22, 2011 | Jun 03, 2011 |
Printed | Page 840 Last sentence of 2nd paragraph in the section "Alternatives to WaitAll and SignalAndWait" |
The last sentence states : Note from the Author or Editor: |
JimboT | Feb 22, 2011 | Jun 03, 2011 |
Printed | Page 759 The sentence before the first bullet point in the "APTCA and [SecurityTransparent]" section |
This sentence states : Note from the Author or Editor: |
JimboT | Feb 21, 2011 | Jun 03, 2011 |
267 4th para after list of rules |
Default ValueType.GetHashCode() uses only the first field of the struct for the hash value. Demonstrated: Note from the Author or Editor: |
Steve Love | Feb 10, 2011 | ||
Printed | Page 780 1st paragraph |
This frustrates hackers in two ways: hashes take longer to compute, and they ??made?? not have access to the salt bytes. (may?) Note from the Author or Editor: |
Vincent Croquette | Feb 08, 2011 | Jun 03, 2011 |
Printed | Page 225 2nd line |
Shouldn't there be a "minus" before "one"? Note from the Author or Editor: |
Anonymous | Jan 11, 2011 | Jun 03, 2011 |
Printed | Page 175 paragraph preceding "Pragma Warning" |
Wrong font for "DEBUG". Note from the Author or Editor: |
Anonymous | Jan 11, 2011 | Jun 03, 2011 |
Printed | Page 175 last line in Table 4-1 |
Change "#end 'region'" to "#endregion" Note from the Author or Editor: |
Anonymous | Jan 11, 2011 | |
Printed | Page 124 in sidebar |
Complete the correction to the example code. Change Note from the Author or Editor: |
Anonymous | Jan 11, 2011 | Jun 03, 2011 |
Printed | Page 38 first line under table heading "Parameter modifier" |
Wrong font for "None" -- it should be roman or blank as it is not a keyword. |
Anonymous | Jan 11, 2011 | Jun 03, 2011 |
Printed | Page 27 1st paragraph in "Real Number Rounding Errors" |
"float and double 1internally ..." -> "float and double internally ..." |
Anonymous | Jan 11, 2011 | Jun 03, 2011 |
Printed | Page 375 Distinct paragraph |
I think Distinct actually has an overload that accepts an equality comparer that can be used instead of the default one. Note from the Author or Editor: |
Vincent Croquette | Jan 03, 2011 | Jun 03, 2011 |
Printed | Page 283 near the middle |
Change ?from the existing collecting? to ?from the existing collection.? |
Howard Weisberg | Dec 19, 2010 | Jun 03, 2011 |
Printed | Page 81 subheading |
Replace ?new versus virtual? with ?new versus override? Note from the Author or Editor: |
Howard Weisberg | Dec 19, 2010 | Jun 03, 2011 |
Printed | Page 47 Shift operators (near the bottom of the table) |
The example for the Shift Left operator uses the Shift Right operator and vice versa. Note from the Author or Editor: |
Hanna Ruotsalainen | Nov 02, 2010 | Jun 03, 2011 |
Printed | Page 165 First code example in section "Dynamic Conversions" |
In the code example: Note from the Author or Editor: |
Michal Jakubec | Oct 31, 2010 | Jun 03, 2011 |
Printed | Page 15 top, first paragraph |
text refers to the "Test" class in the code on page 15. Note from the Author or Editor: |
joseph wyatt | Oct 21, 2010 | Jun 03, 2011 |
Printed | Page 467 last code segment on page |
(last code segment at the bottom of 467, 4th ed): Note from the Author or Editor: |
Anonymous | Oct 01, 2010 | Jun 03, 2011 |
Printed | Page 118 last paragraph |
"When a delegate object is assigned to an instance method" -- remove the word "to", or rewrite as "When an instance method is assigned to a delegate object". Note from the Author or Editor: |
Dan | Sep 05, 2010 | Jun 03, 2011 |
Page 437 lower part of p.437 |
original sentence: Note from the Author or Editor: |
aligado | Aug 26, 2010 | Jun 03, 2011 | |
Printed, PDF | Page 400 "Concat and Union" section, 1st paragraph, 1st sentence |
"Contact returns all the elements of the first sequence..." |
Leonard Thieu | Aug 19, 2010 | Jun 03, 2011 |
Printed, PDF | Page 448 Last paragraph, Last sentence |
"The default value for CloseInput and CloseOutput is true." |
Leonard Thieu | Aug 19, 2010 | Jun 03, 2011 |
Printed, PDF, , Other Digital Version | Page 860 Second code listing plus last code listing on page |
Second code listing on page, 4th line: property accessor should needs type declaration. Instead of: |
Joseph Albahari |
Aug 12, 2010 | Jun 03, 2011 |
Printed | Page 165 Footnote |
The conversion from dynamic 'expressions' to other types is no longer an assignment conversion but an implicit conversion. See Chris Burrows' blog post on 1 April 2010 (http://blogs.msdn.com/b/cburrows/) for details of the change. Note from the Author or Editor: |
Alan Fox | Jun 28, 2010 | Jun 03, 2011 |
Page 794 2nd paragraph |
"If _a_ such an assembly runs in a sandbox, any Demands that it Note from the Author or Editor: |
Ben Monroe | May 24, 2010 | Jun 03, 2011 | |
Printed | Page 106 2nd paragraph |
In the example code, "class GenericClass<T> where..." should read "class GenericClass<T,U> where..." |
K. L. Estes | May 22, 2010 | Jun 03, 2011 |
Page 153 2nd statement |
Console.WriteLine (s); // -1 |
Anonymous | May 17, 2010 | Jun 03, 2011 | |
174 First code block |
The last line of code (declaring j) should have type long, otherwise the following comment "The preceding example worked because an int is implicitly convertible to a long." makes no sense. Note from the Author or Editor: |
Richard Cox | Apr 11, 2010 | Jun 03, 2011 | |
Printed | Page 410 5th pseudo-code fragment |
Using ! to highlight the unexpected results (365!, 35!) makes them look like factorials. Note from the Author or Editor: |
Gorpik | Apr 06, 2010 | Jun 03, 2011 |
Printed | Page 399 2nd code example |
The explanation says that we want to filter out groups that have fewer than five files in them, so the filter should be: |
Gorpik | Apr 05, 2010 | Jun 03, 2011 |
Printed | Page 398 1st code example |
In the last line inside the foreach block, it should be " -- " instead of " - " |
Gorpik | Apr 05, 2010 | Jun 03, 2011 |
Printed | Page 391 2nd paragraph after the tip |
There is a reference to a variable (outerSeq) that has not been mentioned before. It should probably be query or custPurcharses. Note from the Author or Editor: |
Gorpik | Apr 05, 2010 | Jun 03, 2011 |
Printed | Page 373 Section Overview, last paragraph |
"a range" instead of "an range". |
Gorpik | Apr 05, 2010 | Jun 03, 2011 |
Printed | Page 364 Tip |
In the code snippet, replace ] with } Note from the Author or Editor: |
Gorpik | Apr 05, 2010 | Jun 03, 2011 |
Printed | Page 1018 Index |
resurrection is misprinted as resueection |
Gorpik | Apr 05, 2010 | Jun 03, 2011 |
Printed | Page 339 3rd paragraph |
The vowel-removed version is called vowelless in the code example, not v. Note from the Author or Editor: |
Gorpik | Apr 05, 2010 | Jun 03, 2011 |
Printed | Page 1022 ToLookup |
"ToLookup query opperator" needs to be "ToLookup query operator" |
BrettS | Apr 04, 2010 | Jun 03, 2011 |
Printed | Page 320 Last paragraph before tip |
Two typos in this paragraph. In the first sentence, it should be "end" instead of "ends" (matches with "query expressions"). |
Gorpik | Mar 29, 2010 | Jun 03, 2011 |
Printed | Page 311 1st paragraph in section Getting Started |
Tom, Dick and Harry are not variables (like names), but string literals. So they should be "Tom", "Dick" and "Harry". |
Gorpik | Mar 29, 2010 | Jun 03, 2011 |
Printed | Page 109 Covariant example at bottom of page |
The variable names are backwards. 'B', 'b' and 'S', 's' names represent 'Base' and 'Subclass' types and variables. The example uses 'b' as the name for the reference variable for an interface using the Subclass type. It should read: |
Stan Morris | Mar 28, 2010 | Jun 03, 2011 |
Printed | Page 296 2nd paragraph from the end |
"None of the three collections allows duplicate keys". In this section (Sorted Dictionaries), only two collections are mentioned. Note from the Author or Editor: |
Gorpik | Mar 26, 2010 | Jun 03, 2011 |
Printed | Page 291 Text before 5th listing |
"We remove all the vowels from our set of characters in the following code:" |
Gorpik | Mar 25, 2010 | Jun 03, 2011 |
Printed | Page 291 4th code listing |
Comment should be fhi instead of fhk. |
Gorpik | Mar 25, 2010 | Jun 03, 2011 |
Printed | Page 266 3rd paragraph |
In the IEnumerable<T> and IDisposable section on page 266, I think all instances of IEnumerable<T> are supposed to be replaced with IEnumerator<T>. At least, that's what makes the most sense in context of the previous section (IEnumerable<T> doesn't inherit IDisposable, IEnumerator<T> does). Note from the Author or Editor: |
BrettS | Mar 24, 2010 | Jun 03, 2011 |
Printed | Page 719 Paragraph 2, Line 1 |
The compiled code in an ssembly contains almost all of the content ... Note from the Author or Editor: |
Anonymous | Mar 23, 2010 | Jun 03, 2011 |
Printed | Page 68 Section on Object Initializers Versus Optional Parameters |
The section discusses a feature of C# 4.0, but that is not called out anywhere in the box. Also, the last line on page 67 reads, "Object Initializers were introduced in in C# 3.0.", which is correct, but is confusing when the boxed section starting on 68 discusses Object Initializers in more detail but in relation to C# 4.0 Optional Parameters. Note from the Author or Editor: |
Stan Morris | Mar 21, 2010 | Jun 03, 2011 |
Printed | Page 238 3rd paragraph in section "BigInteger" |
Method name is Pow, not PoW (as correctly stated in the example below). Note from the Author or Editor: |
Gorpik | Mar 17, 2010 | Jun 03, 2011 |
Printed | Page 227 Table 6-3 |
Several results in the table are wrong. Note from the Author or Editor: |
Gorpik | Mar 17, 2010 | Jun 03, 2011 |
Printed | Page 209 1st paragraph in section "Text Encodings and Unicode" |
The ASCII set is the first 128 (0-127) characters of the Unicode set, not the first 127. Note from the Author or Editor: |
Gorpik | Mar 15, 2010 | Jun 03, 2011 |
Printed | Page 175 Last paragraph in section "Conditional Attributes" |
"The compiler will not incorporate..." should be "The compiler will only incorporate...". |
Gorpik | Mar 15, 2010 | Jun 03, 2011 |
Printed | Page 161 1st paragraph |
The property names must also be the same for both instances to have the same underlying type. Note from the Author or Editor: |
Gorpik | Mar 15, 2010 | Jun 03, 2011 |
Printed | Page 152 Last code snippet |
The set function in the Color property is technically correct, but I think it would not behave as expected. Instead of: |
Gorpik | Mar 15, 2010 | Jun 03, 2011 |
Printed | Page 116 Beginning of section "Writing Plug-In Methods with Delegates" |
Replace "delegatevariable" with "delegate variable". |
Gorpik | Mar 11, 2010 | Jun 03, 2011 |
Printed | Page 88 Object Member Listing |
In the list of Object members, it should be: |
Gorpik | Mar 11, 2010 | Jun 03, 2011 |
Printed | Page 106 "Generic Constraints" section |
This section explains that base class constraint and naked type constraint require the type parameter to derive from the type specified in the constraint. In fact, it can also be the type specified. AFAIK, this is the only place in C# where a class is considered to inherit from itself, so I think it should be clarified. Note from the Author or Editor: |
Gorpik | Mar 10, 2010 | |
Printed | Page 106 5th paragraph |
"CompareTo returns a positive number if other is greater than this" should be "CompareTo returns a positive number if this is greater than other". |
Gorpik | Mar 10, 2010 | Jun 03, 2011 |
Printed | Page 71 First line of code |
Return type for get_CurrentPrice should be decimal, not int. Note from the Author or Editor: |
Gorpik | Mar 09, 2010 | Jun 03, 2011 |
Printed | Page 65 Last paragraph |
Even thought the section is "Instance Constructors", maybe you should clarify that "Instance constructors allow the following modifiers", so it is clear that this does not apply to static constructors. Note from the Author or Editor: |
Gorpik | Mar 09, 2010 | Jun 03, 2011 |
Printed | Page 57 Last paragraph and example |
The "previous example" mentioned is missing; probably it was edited out. Note from the Author or Editor: |
Gorpik | Mar 09, 2010 | Jun 03, 2011 |
Printed | Page 55 Last paragraph |
Instead of 'goto case-constant', it should be 'goto case case-constant', as correctly stated a few lines before. |
Gorpik | Mar 09, 2010 | Jun 03, 2011 |
Printed | Page 124 Box |
The event does not fit to the example. Note from the Author or Editor: |
Anonymous | Feb 28, 2010 | Mar 01, 2010 |
Printed | Page 936 Code listing, half way down page |
The Read() method needs two edits: Note from the Author or Editor: |
Joseph Albahari |
Jan 31, 2010 | Mar 01, 2010 |