4.0.5 has Arrived!
Version 4.0.5 is going out today. This is another digital-only update, fixing minor typos and a few other tweaks. This is also the smallest update, in terms of total changes, so far, which is a trend I generally expect to continue going forward.
The changes include:
- Fixing the title in the headers of Level 53 (said Bonus Level A instead of Into Lands Uncharted as they were supposed to say). Thanks @odigity!
- A couple of corrections to the code sample on page 339 about using locks to enforce thread safety. Thanks @Powder!
- Added a missing
$
to a string interpolation for the code at the very bottom of page 266. Thanks @Powder! - A slight tweak to the Safer Number Crunching challenge on page 267 to indicate using the
int.TryParse(string s, out int result)
method (as shown earlier in that section) instead of the non-existentint.TryParse(out int value)
method (missing the first string parameter). Thanks @Powder and @Kranberry! - An updated version of the XP Tracker on the website to fix some outdated challenge entries. Thanks @AddAmazeing!
I also added two new articles on the website as a part of this update:
- Locks and Reading Data: Discusses locks in a bit more depth to cover some ground that the book doesn’t quite capture. Worth a read if you’re doing much with multi-threading and concurrency in C#. This is in response to the deeper analysis I did while fixing #2 above, so thanks again, @Powder!
- Lists and
InvalidOperationExceptions
. The book mentions that you can useforeach
on a list, but that if you add, remove, or swap out items in a list while in the middle of aforeach
, you’ll get an exception. It then mentions that there are two ways to get around the problem, and describes how you can just use afor
loop. But it does not cover the second option. This article covers it. Thanks for asking about it, @JustPlay!