Errata


Print Print Icon

Submit your own errata for this product.


The errata list is a list of errors and their corrections that were found after the product was released.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.


Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question



Version Location Description Submitted By
Safari Books Online Answers Appendix
Top of page, first answer.

http://my.safaribooksonline.com/9780596155018/chapter_4_operators

Solution to Question 4-2. To assign the same value to multiple variables, simply chain the assignments, like this:

int a = b = c = d = 36;

The above statement creates 3 errors:
The name 'b' does not exist in the current context
The name 'c' does not exist in the current context
The name 'd' does not exist in the current context

The following works:
int a,b,c,d;
a = b = c = d = 36;

Shannon Barta 
Printed Page 40
In "The Macro Explorer Window" paragraph

"The Macro Explorer is the one of the main tools" should be "The Macro Explorer is one of the main tools"

Stephen Korow 
Printed Page 47
sample code

On page 47 is listed the following sample code:

int myDouble = 4.7;
// other code here...
int myInt = (int) myDouble; // explicit conversion

Shouldn't the line;

int myDouble = 4.7

be

double myDouble = 4.7;

for this to make sense?

Anonymous 
Printed Page 52
3rd code example on page

Code example for the Console.WriteLine method makes it appear as though you can enter the quoted string on more than one line, but this will not compile - you will get a 'newline in constant' error message due to a newline character (an actual one, not an escaped character) in the string. The text does not explain that the string is split to fit on the printed page, but must all be entered on one line in the editor.

Tim Jones 
Printed Page 57
code snippet before last paragraph

int myDouble = 4.7;
should be
double myDouble = 4.7;

Stephen Korow 
Printed Page 57
code example at the bottom of the page

shouldn't myDouble be of type "Double" instead of type "int". Otherwise, there is no need for the explicit cast. Also, you'll get an error because you are trying to assign the value "4.7" to an int variable.

Stephen Korow 
Printed Page 58
first paragraph

The last sentence of the first paragraph on page 58 states that the reader is almost guaranteed to lose value sooner or later. While I agree with the sentiment, I believe you meant to say that that "you are almost guaranteed to lose a value sooner or later" or possibly "lose precision in a value sooner or later".

Stephen Korow 
Printed Page 77
First example

book r = true;

is supposed to be:

bool r = true;

Lucas Jarmin 
Printed Page 84
Exercise 4-4

This is picky, but units of area and units of volume are not comparable, therefore it doesn't quite make sense to say which result is greater. What high school did the author attend?

Tim Jones 
Safari Books Online 103
code example after 3rd paragraph

Console.WriteLine("Enter your input string.") statement needs to end with a semicolon.

Tim Jones 
Printed Page 226
third code example

You intend to derive MyOtherClass from MyClass. The code example has this reversed.

Eric Bank 
Printed Page 230
In "Overriding Virtual Methods"

In the first code example in "Overriding Virtual Methods," the name of the method is erroneously changed from DrawControl to DrawWindow.

Lucas Jarmin 
Printed Page 233
Throughout page

Don't you think you should have made explicit the fact that if you polymorphically call a method that uses new instead of override, that the base class version of the method executes?

Anonymous 
Printed Page 235
first paragraph

The keywords abstract and public should be interchanged in position.

abstract public void DrawControl();

should be

public abstract void DrawControl();

Paul Lin 
Printed Page 254
Paragraph starting with "To implement the conversion operator, ..."

The last sentence of the paragraph reads:
"For example, to convert your Fraction to an int, you do this:"

should read:

"For example, to convert your int to a Fraction, you do this:"

Its only a sloppy error, but it confused me for a couple of minutes that I will never get back.

Anonymous 
Printed Page 472
White House Presidents Image URL in code example

The URLs for the images have been changed and are different from both the book version and the downloadable example. Pay attention to the spelling of the URLs for images to the 8th, the 15th and the 19th presidents.

He Wang 
Printed Page 567
1st paragraph or the Example 10-4 code

Exercise 10-4 asks for a method to initialize the chessboard array and a method to test whether a square is black or white. The sample solution ignores the word "method". The initialization and testing code are just part of the Run() method. Either the question or the sample code is wrong.

Anonymous 
Printed Page 601
top

Exercise 14-3 is about Stacks & Queues. Shouldn't the solution involve Pop & Dequeue? The solution in the book just iterates through the stack & queue with a foreach loop and ToString(essentially). I did this instead:

Console.Write("Clearing the animal Stack:");
int stackCount = myAnimalStack.Count; // can't use .Count in loop
for (int i = 0; i < stackCount; i++) // it drops by 1 with each Pop
{
Console.Write("\n(Pop): {0}", myAnimalStack.Pop());
}

Console.Write("\nClearing the animal Queue:");
int queueCount = myAnimalQueue.Count;
for (int i = 0; i < queueCount; i++)
{
Console.Write("\n(Dequeue): {0}", myAnimalQueue.Dequeue());
}

Anonymous 


"...a remarkably comprehensive and far-ranging introduction not only to the language, but also to its development tools and how to use them."
--Glyn Griffiths, managing director, Interact Software