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-existent
int.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 use
foreachon a list, but that if you add, remove, or swap out items in a list while in the middle of a
foreach, 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 a
forloop. But it does not cover the second option. This article covers it. Thanks for asking about it, @JustPlay!