Errata

C# 7.0 Pocket Reference

Errata for C# 7.0 Pocket Reference

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. 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
I use the free book right now..


Hi , Joseph Albahari and Ben Albahari

Thank for your book , C# 7.0 Pocket Reference

I read your book in safari online book , I saw a problem in this book.
It's related with Pre-decrement because you used to Post-increment for it , I think
it is a small mistake in this book .
If you'll see this error in safari online book chapter 01 you can search Post-increment in this book and you'll see Post-increment for ( -- ) in a Unary table.

I like your book and I read c# 6 (Full) before c# 7 ( Pocket ) . It is best book for learning c# .
I'll wait for your answer
thanks a lot.

Note from the Author or Editor:
Correct. On the table on page 50, right of --, "post-increment" should read "pre-decrement".

Amin saadati  Jan 23, 2018  Apr 13, 2018
Printed
Page 3
First paragraph

Link for sample files is broken.
bit.ly.linq-pad_csharp7_samples

Note from the Author or Editor:
The last sentence in the first paragraph should read:

To download the samples, click the Samples tab in LINQPad and click “Download more samples.”

Chris Catignani  Feb 09, 2018  Apr 13, 2018
PDF
Page 50
Under operator table in page 50 line 5

This could be printing mistake. It says --x is for "Post-increment". This is for pre-decrement.

Note from the Author or Editor:
Correct. Note that this has been reported in another errata.

Anas  Oct 19, 2017  Apr 13, 2018
Printed
Page 58
last line

it says
case bool b when b == true // Fires when b is true

correct is
case bool b when b == true: // Fires when b is true

so you are missing the colon after "true".

Note from the Author or Editor:
Correct - there should indeed be a colon after the word 'true'.

Wolfgang Jacques  Oct 13, 2017  Apr 13, 2018
Printed
Page 94
Under "Object Member Listing"

One of the members of Object class listed is "protected override void Finalize();", however as Object itself has no base class, there's nowhere for it to override any base method. Also in docs.microsoft.com/en-us/dotnet/api/system.object.finalize Microsoft says "the Object class provides no implementation for the Finalize method", therefore I think the "override" modifier is improper here, but should be replaced with "abstract".

Note from the Author or Editor:
Correct. Replace override with virtual, so that that reads:

protected virtual void Finalize();

Hafniz  Sep 05, 2018  Nov 30, 2018
Other Digital Version
903
Operator Table (location 903 of 4677 on Kindle)

More like a question: Shouldn't the null-coalesing operator (??) also be includet in the operator precedence table? Reason for asking is because i + j ?? 0 is yields a different result than i + (j ?? 0) because the ??-operator has lower precedence than the add-operator.

Note from the Author or Editor:
Yes, this should be in the table, under the conditional Or. It's been added for the next edition.

Øystein Bakken  Nov 09, 2018