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.
Version |
Location |
Description |
Submitted By |
Date submitted |
Date corrected |
|
Page Pg. 205 (.pdf) (Pg. 520 Kindle eBook version)
Paragraph before "There are no Dumb Questions" section |
The text in the last paragraph before the "there are no Dumb Questions" section does not match what is being discussed directly above and the code snippet uses as an example. As there is no "ScoreText.text" within the snippet or an attempt to assign 'x' to it.
This can be found in Chapter 4 page 205 of the .pdf file. It is the same in my Kindle eBook version on page 520 (page may differ slightly based on font size on Kindle).
I would copy and paste the exact text involved, but there is an image (Error Exception message) within the text that interferes.
Note from the Author or Editor: Thanks for catching this – looks like this was a (ScoreText.text is from a Unity lab later in the book). This paragraph should be updated to read:
text is a string variable, so when you used the + operator to concatenate a string it converted the value to a string and the assignment worked. But when you try to assign the number value to it directly, it doesn’t have a way to automatically convert the long value to a string. You can convert a numeric value (or any other value!) to a string by calling its ToString method.
|
David Fournier |
Oct 01, 2024 |
Dec 19, 2024 |
Printed, PDF, ePub, Mobi, O'Reilly learning platform, Other Digital Version |
Page Multiple pages
|
Microsoft released .NET 9.0 after the first printing. The following changes bring the book up to date with .NET 9.0 (all images are updated in Subversion):
Page 7
In step 4, change both occurrences of 8.0 to 9.0 in this sentence:
The current version of .NET at the time we’re writing this is 8.0—make sure the version that
you’re using is 8.0 (or higher).
Replace the first image in Step 4 with Links/ch01_screenshots/ch01_screenshot_vs_windows_9_NEW.psd
Page 8
Change net8.0 to net9.0 in the command output in the middle of the page
Replace the screenshot in Step 6 with Links/ch01_screenshots/ch01_screenshot_vs_windows_12_NEW.psd
Page 24
In annotation change .NET 8 to .NET 9
Update first image to Links/ch01_screenshots/ch01_screenshot_vs_mac_9_NEW.psd
Update second image to
Links/ch01_screenshots/ch01_screenshot_vs_windows_15_NEW.psd
Page 25
Update the image of the phone to Links/ch01_screenshots/ch01_screenshot_vs_android_1_NEW.psd
Page 88
Update image of robot in the race car to the .NET 9 image of a robot in a drone
Replace the first image with Links/dotnet_bot_9.0.png
Fix the button image
Replace the third image with Links/ch02_screenshots/ch02_new_screenshot_46_NEW.psd
(resize so it looks okay)
Page 91
Change "cute robot driving a race car" to "cute robot"
Replace top image with Links/ch02_screenshots/ch02_new_screenshot_1_NEW.psd
Page 96
Replace screenshot image at the bottom of the page with Links/ch02_screenshots/ch02_new_screenshot_19_NEW.psd
In text in lower left change .NET 8 to .NET 9
Page 460
In the first line, change "robot driving the race car" to "cute robot"
Page 626
In "Check the bin\Debug\net8.0 folder underneath your Solution folder" change net8.0 to net9.0
Page 668
Change paths to net9.0 in the following commands:
cd HexDumper/bin/Debug/net8.0
cd WriteArgs/bin/Debug/net8.0
Change the top annotation to: "This book uses .NET 9.0—if you’re using this with a different version, replace net9.0 with the matching version."
Page 738
There are five occurrences of net8.0 that need to be changed to net9.0
- Three are in the first three lines of command output at the top
- One in the second bullet below
- One in the third bullet below
Page 740
In command line in middle of the page that starts C:\Users\Public\source...
Change both occurrences of net8.0 to net9.0
Page 759
Bottom of page - in this text "You can see the DLL files by building your app and then
opening the bin\Debug\net8.0 folder"
Change net8.0 to net9.0
|
Andrew Stellman |
Oct 04, 2024 |
Dec 19, 2024 |
Printed, PDF, ePub, Mobi, O'Reilly learning platform, Other Digital Version |
Page Pages 646 and 652
|
On page 646:
Add a caption box (one of those boxes with rounded corners and Arial Rounded Bold text) to the upper corner of the page (the word "Composition" should be in gray):
Composition is a design principle where a class is built using objects of other classes as its parts. It's like creating a complex machine using simpler, reusable components. This approach allows for flexible and modular code structure, making it easier to change or extend functionality without affecting the entire system.
In the text under the bottom object circle graphic, change "List<Passengers> object" to "List<Passenger> object" (remove the "s" from Passengers).
Add a caption box to the lower right corner inside the "Brain power":
This is a good example of composition: the Car class depends on the Engine, Tire, and Passenger classes to provide part of its behavior. How would you save the state of several classes that use composition to work together?
On page 652, add the following bullets to the Bullet Points box ("Composition" and "serializing composed objects" are in boldface):
* Composition means building objects using other objects as their parts. The behavior of a composed object comes from how its parts work together.
* When serializing composed objects, the entire graph of connected objects is saved, so all parts can be deserialized together.
|
Andrew Stellman |
Oct 21, 2024 |
Dec 19, 2024 |
Printed, PDF, ePub, Mobi, O'Reilly learning platform, Other Digital Version |
Page Multiple locations
Multiple locations |
Unity 6 was released after the first printing of the book. This is a cumulative update to bring the book up to date with Unity 6 (all images are updated in Subversion):
Page xxxvii:
In paragraph 3, change boldfaced text Unity 2023.2 to Unity 6
Page 113:
1. Delete the ellipse
2. Replace the first image with Links/ch02_unity_lab_1_screenshots/ch01_unity_screenshots_3_NEW.psd
3. Delete the second image on the page
4. Move the arrow up and to the left so it points to the "Install Editor" button
5. Replace the text in the caption box with the following (resize the box smaller so it fits the text):
Unity Hub helps you manage your Unity installs and projects. We used screenshots from Unity 6 in these Unity Labs, because that was the most recent version available when we went to production. You should install the latest official release. When you click the Install Editor button, Unity Hub will display a list of official releases. Install the most recent version of Unity 6. Make sure you choose the version (x64 or Arm64) that matches your hardware.
6. In the paragraph below, replace this text:
install the latest official release that starts with Unity 2023
With this text ("Unity 6" is in boldface):
install the version of Unity 6 that matches your hardware (x64 or Arm64)
7. In the "Watch It!" box, replace this text:
The screenshots in this book were taken with Unity 2023.2 in dark mode and Unity Hub 3.7.0 in light mode.
With this text ("Unity 6" and "Unity Hub 3.10.0" are in boldface):
The screenshots in this book were taken with Unity 6 and Unity Hub 3.10.0.
8. Delete this sentence and resize the "Watch It!" box (you may want to adjust its position to balance the whitespace on the page): "The next version, Unity 6, is in early release as we go to print. Watch for PDFs of updated labs on our GitHub page: https_//github.com/head-first-csharp/fifth-edition"
9. Delete this annotation and its accompanying arrow: "At the time we’re writing this, Unity is planning on moving away from year-based versions and calling their next version Unity 6."
Page 114:
Change the text "make sure the 3D template is selected" to "select the Universal 3D template" ("Universal 3D" is in boldface)
Replace the top three images with Links/ch02_unity_lab_1_screenshots/ch01_unity_screenshots_11_NEW.psd (they are al linked to the same file)
Replace the bottom image with Links/ch02_unity_lab_1_screenshots/ch01_unity_screenshots_7_NEW.psd
Resize the image frame so it fits the image
Move the annotation that starts "You’ll use the Scene window" up so it's centered in the gray area and doesn't overlap any darker areas of the image.
Move the annotation that starts "Every object" up to make room.
Move the annotation that starts "Use the Project window" to the right so it's in the Inspector window. Add an arrow that points from that annotation to the Project window.
Page 119:
The text block that starts "You can learn more about..." should be in a caption box, one of those boxes with rounded corners. Set its border to 1 pt black, and give it 0p3 rounded corners.
Page 120:
Replace the top image with Links/ch02_unity_lab_1_screenshots/ch01_unity_screenshots_28_NEW.psd
Page 121:
Replace the top image with Links/ch02_unity_lab_1_screenshots/ch01_unity_screenshots_29_NEW.psd
In Step 5, replace "drag it onto your sphere" with "drag it into the Hierarchy window onto the Sphere that you added" in boldface
Replace the third image in Step 5 (the one that's a picture of a light sphere on a dark gray background) with Links/ch02_unity_lab_1_screenshots/ch01_unity_screenshots_31_NEW.psd
Replace the bottom image with Links/ch02_unity_lab_1_screenshots/ch01_unity_screenshots_34_NEW.psd
Page 122:
Replace the screenshot with Links/ch02_unity_lab_1_screenshots/unity_version_control_window_NEW.psd
Replace the small icon image in the top line in the box to the right of the screenshot with Links/ch02_unity_lab_1_screenshots/
Page 123:
In the "Relax" box change this text: and move the Scene view
To this: and the Scene view.
Page 125:
Replace the image with Links/ch02_unity_lab_1_screenshots/ch01_unity_screenshots_41_NEW.psd
Move the arrow at the top to the left so it points down at the question mark icon in the image
The new image is shorter than the old one, so move the arrow and annotation at the bottom of the page up to close the gap
Page 258:
Replace the top image with Links/ch04_unity_lab_2_screenshots/ch02_unity_screenshots_36_NEW.psd
Remove the annotation overlapping the image that starts "If you used Unity Version Control to upload" along with its arrow
Page 260:
Remove these two lines of code from the top of the block of code:
using System.Collections;
using System.Collections.Generic;
The annotation and arrow will overlap the code after that change, so you'll need to widen the caption box ("You opened your C# script in...") to make room so you can move the annotation and arrow up.
You can resize the screenshot so it's a little bigger. Make sure the right arrow from the box that says "Your game will start..." points to the 8 ball, and the left arrow from the box that says "Click on Sphere in the..." points to the Hierarchy tab.
Move the screenshot up as well. The arrows don't line up correctly -- make sure the
Page 261:
Remove these two lines of code from the top of the code:
using System.Collections;
using System.Collections.Generic;
You can replace them with blank lines so they don't mess up the spacing of the rest of the page.
Page 404:
Replace the image at the bottom of the page with Links/ch06_unity_lab_3_screenshots/ch03_unity_screenshots_30_NEW.psd
The image is inside a text frame, so you'll need to expand the text frame vertically before you can expand the image frame downwards to show the entire image.
Page 405:
Replace the top image with Links/ch06_unity_lab_3_screenshots/ch03_unity_screenshots_3_NEW.psd
Replace the second image with
Links/ch06_unity_lab_3_screenshots/ch03_unity_screenshots_4_NEW.psd
Move the circle so it is over the square to the left of the label "Base Map" and then move the arrow so it starts in the middle of the 1 Ball Texture icon (between the two 1's) and points to the circle. This is supposed to indicate that the user will drag the 1 Ball Texture icon onto the Base Map box.
Replace the third image with Replace the second image with
Links/ch06_unity_lab_3_screenshots/ch03_unity_screenshots_5_NEW.psd
Resize and move the circle over that image so it is around the square to the left of the "Base Map" icon, which now looks like the 1 Ball Map icon.
In the "Behind the Scenes" box, replace this sentence:
and the albedo controls the color of that surface. “Albedo” is a term from physics (specifically astronomy)
With this (albedo is in boldface):
and the base map controls its albedo. "Albedo" is a game development term borrowed from physics
Add the following annotation in the space to the left of the 'Behind the Scenes" box with an arrow pointing to the box:
Previous versions of Unity used the term Albedo instead of Base Map, so you’ll see that term a lot in search results.
Page 409:
Replace this sentence:
Right-click on the Scripts folder in the Project window and create a new script called GameController.
With this ("Create a new script" is in boldface and "Create >> Scripting >> MonoBehavior Script" is in italics):
Create a new script called GameController. Right-click on the Scripts folder and choose Create >> Scripting >> MonoBehavior Script.
Page 413:
Replace the third screenshot (Rigidbody) with Links/ch06_unity_lab_3_screenshots/ch03_unity_screenshots_22_NEW.psd
Page 550:
Remove these two lines from the top of the code:
using System.Collections;
using System.Collections.Generic;
The Exercise box wraps to page 551, so make the box on 550 smaller so "void ResetBall()" is still at the top of the box on page 551.
Page 674:
Change this text:
right of the word “Albedo” in the Inspector
To this:
right of the word “Base Map” in the Inspector
Replace the "Main Maps" screenshot under the third paragraph with ch05_unity_screenshots_6_NEW.psd
Page 676:
Replace the two side by side screenshots under the third paragraph.
Replace the left one with Links/ch10_unity_lab_5_screenshots/ch05_unity_screenshots_11_NEW.psd
Replace the right one with Links/ch10_unity_lab_5_screenshots/ch05_unity_screenshots_10_NEW.psd
Page 678:
Change the boldfaced text in the first sentence from this:
install the AI Navigation package, which installs
to this ("AI Navigation package" is in boldface):
make sure the AI Navigation package is installed, which provides
Change step 4 to ("Install button" is in boldface):
Make sure that there's a checkmark with a circle next to AI Navigation. If it isn't, click the Install button to install it.
In the top right caption box, change this text:
Once you’ve selected the AI Navigation package, click the Install button to install it.
to this (you'll need to make the box a little bigger, Install button is in gray italics):
If the AI Navigation package isn't already installed, select it and click the Install button to install it.
Page 680:
Change all four occurrences of NavMeshSurface to NavMesh Surface
Pages 684:
The Sharpen Your Pencil exercise on this page needed significant updates. The updated page can be found in the InDesign file in Subversion: hfc#5e_ch10_unity_lab_5_pages_684_686_updates
Page 686:
The Sharpen Your Pencil solution on this page needed significant updates, and two bullet points were added. The updated page can be found in the InDesign file in Subversion: hfc#5e_ch10_unity_lab_5_pages_684_686_updates
Page 765:
Replace the screenshot in the lower right with Links/ch12_unity_lab_6_screenshots/ch06_unity_screenshots_5_NEW.psd
Page 766:
Replace the first screenshot with Links/ch12_unity_lab_6_screenshots/ch06_unity_screenshots_13_NEW.psd
Replace the second screenshot with Links/ch12_unity_lab_6_screenshots/ch06_unity_screenshots_11_NEW.psd
|
Andrew Stellman |
Dec 03, 2024 |
Dec 19, 2024 |
|
Page page 102
In the second Label under the Slider, SemanticProperties.Description |
The second Label under the Slider element has a SemanticProperties.Description that reads "Here's the stepper value". It should read "Here's the slider value"
Note from the Author or Editor: There are two occurrences of the following line on the page:
SemanticProperties.Description="Here's the stepper value" />
Change the SECOND one to:
SemanticProperties.Description="Here's the slider value" />
|
onyx |
Sep 01, 2024 |
Dec 19, 2024 |
|
Page Pg. 99, Step 4
Top of page. |
There is no “Margin” property in the Properties window. Had to type Margin="0,0,0,20" into the tag by hand.
Note from the Author or Editor: Add a warning to the top of the page formatted similar to the on at the top of page 30 (you can remove the line break between the first two paragraphs to make room):
An update to Visual Studio since we took that screenshot may have removed Margin from the Properties window. If you don't see it (or any other property), just type the XAML so it matches.
|
David Templeton |
Sep 04, 2024 |
Dec 19, 2024 |
|
Page 10
1st paragraph |
“Try moving the panels in Visual Studio around. Click the pushpin button ( ) to collapse
the Solution Explorer window into the side panel. Reset the layout by choosing Reset
Window Layout from the View menu, then choosing Output from the View menu.”
“Reset Window Layout” is in the Window menu, not View. I have no idea what choosing “Output” from the View menu accomplished.
Note from the Author or Editor: In the heavy text at the the top of the page, change this:
Reset the layout by choosing Reset Window Layout from the View menu, then choosing Output from the View menu.
to this:
Reset the layout by choosing Reset Window Layout from the Window menu, then use the View menu to open other windows.
|
David Templeton |
Aug 28, 2024 |
Dec 19, 2024 |
Printed, PDF, ePub, Mobi, O'Reilly learning platform, Other Digital Version |
Page 23
Screenshots and bottom of page |
Updating this page to include updates to Visual Studio Code since the first printing.
1. Replace the top screenshot with Links/ch01_screenshots/vscode_new_maui_project.psd_NEW.png (updated in Subversion) -- VSCode included a cosmetic change
2. Delete the "Name the new project" screenshot and move everything under it up to make room at the bottom of the page
3. Add the following text to the space created at the bottom of the page (the words "Debug project associated with this file" are in boldface):
There’s another way to run your MAUI app. Choose Debug project associated with this file from the dropdown next to the Run button at the upper right corner of the VSCode window.
4. Add the graphic Links/ch01_screenshots/vscode_debug_project_dropdown.png next to the text from #3. This shows a screenshot of the dropdown.
I created a folder "hfc#5e_ch01_page_23_update" in Subversion with an InDesign page that has all of these changes, you can copy the entire page from the file in that folder.
|
Andrew Stellman |
Nov 26, 2024 |
Dec 19, 2024 |
Printed, PDF, ePub, Mobi, O'Reilly learning platform, Other Digital Version |
Page 27
Screenshots and bottom of page |
Visual Studio Code's features to work with XAML in .NET MAUI apps have improved significantly since the first printing. The "Watch It!" box should be updated. I've indicated what should be bold using <bold>...</bold>.
<bold>You can always edit your XAML by hand instead of using the Toolbox or Properties windows.</bold>
When you use Visual Studio Code to edit the XAML code in MainPage.xaml, you may notice that it's missing some of the features we show in Visual Studio. At the time we're writing this, VSCode's .NET MAUI editor doesn't have a Toolbox or a Properties window.
Even if you're using Visual Studio, you might find that an element you need isn't in the Toolbox, or a property isn't in the Properties window. That's okay—the only thing those windows do is <bold>add or change tags in your XAML code</bold>. You get exactly the same XAML code whether you type it in or use the IDE's build-in tools.
In fact, it's often faster to edit your XAML by hand than to search the Toolbox or Properties windows. So even if we tell you to use the Toolbox or Properties window, <bold>you can always type in the XAML code instead</bold>.
|
Andrew Stellman |
Nov 26, 2024 |
Dec 19, 2024 |
|
Page 29
"Step 2", top of page |
Step 2.
“Your C# code should now look like this:” is wrong.
There should be an open curly bracket under the n in namespace, the “public partial class” block should be indented, then a closed curly bracket under the first added bracket, at the end of the namespace block.
Note from the Author or Editor: Change the code in step 2 at the top of page 10 to this:
namespace AnimalMatchingGame
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
}
}
|
David Templeton |
Aug 28, 2024 |
Dec 19, 2024 |
Printed, PDF, ePub, Mobi, O'Reilly learning platform, Other Digital Version |
Page 31
Warning in the middle of the page |
Thanks to updates in Visual Studio Code since the first printing, the warning in the middle of the page is no longer correct—VSCode now has the <New Event Handler> pop-up.
The warning should be changed to this:
If you use IntelliSense to complete your line, it may not add the C# code—you'll need to open MainPage.xaml.cs and add this code to by hand. Your app will still work just fine.
|
Andrew Stellman |
Nov 26, 2024 |
Dec 19, 2024 |
Printed |
Page 31
Exercise Point #3 |
Instead of "set the Text button to ...", it should be "set the Text property to ...".
|
Anish Arya |
Dec 11, 2024 |
Dec 19, 2024 |
Printed, PDF, ePub, Mobi, O'Reilly learning platform, Other Digital Version |
Page 54
Add new caption box to the bottom of the page |
Add the a caption box (one of those boxes with rounded corners) to the bottom of the page with the following text – you can move the "Sharpen your pencil solution" box up to make room:
Do you see a warning in the Error List window about a non-nullable field? Your code will still run even when you see green warnings (unlike errors red errors, which mean your code can't run). But you should still pay attention to warnings! Don't worry about this warning for now—you'll learn about what it is and how to fix it in Chapter 11.
|
Andrew Stellman |
Sep 26, 2024 |
Dec 19, 2024 |
|
Page 71
2nd paragraph (the one just below "A few useful types" subheading) - penultimate line |
The written text "int holds integers (or whole numbers)" is technically wrong. Whole numbers are a subset of Integers. Instead it should be "int holds integers" only.
Note from the Author or Editor: change the phrase "(or whole numbers)" to "(or numbers without fractions or decimals)"
|
Anish Arya |
Dec 14, 2024 |
|
|
Page 83
Method declarations in the code |
The keyword "static" is unnecessary and should be removed.
Note from the Author or Editor: Remove the word "static" from these lines:
static void TryAnIf()
static void TryAnIfElse()
static void TrySomeLoops()
|
Andrew Stellman (author) |
Aug 31, 2024 |
Dec 19, 2024 |
Printed, PDF, ePub, Mobi, O'Reilly learning platform, Other Digital Version |
Page 124
Middle graphic |
Add a caption box that says:
If an “AI Navigation” box is making it hard to see what’s going on, right-click on its header and choose Hide.
|
Andrew Stellman |
Dec 15, 2024 |
|
Printed, PDF, ePub, Mobi, O'Reilly learning platform, Other Digital Version |
Page 140
Bullet #3 |
Bullet #3 has says "foreach loop" in both the bullet ("Add a foreach loop to set the value" and the second sentence of the body ("Add this foreach loop—").
Both instances of the word "foreach" should be replaced with "for" – the reader adds a for loop, not a foreach loop.
|
Andrew Stellman |
Oct 04, 2024 |
Dec 19, 2024 |
Printed, PDF, ePub, Mobi, O'Reilly learning platform, Other Digital Version |
Page 141
Code at bottom of page |
The code at the bottom of the page has the following comment:
// otherwise return the string
This comment got cut off. It should be:
// otherwise return the string Diamonds
|
Andrew Stellman |
Oct 04, 2024 |
Dec 19, 2024 |
Printed, PDF, ePub, Mobi, O'Reilly learning platform, Other Digital Version |
Page 147
Game Design... and Beyond box |
In the boldfaced text "rapidly experiment with a lot of different ideas" the 'r' 'rapidly' is bold italic. It should just be italic.
|
Andrew Stellman |
Sep 26, 2024 |
Dec 19, 2024 |
|
Page 154
First paragraph, second setence. |
Currently reads: 'Now it’s time to take reuse that class by copying the file'. Possible change: 'Now it's time to reuse that class'
Note from the Author or Editor: Change: "Now it’s time to take reuse that class by copying the file"
To: "Now it's time to reuse that class by copying the file"
(remove the extra word "take")
|
onyx |
Sep 01, 2024 |
Dec 19, 2024 |
Printed, PDF, ePub, Mobi, O'Reilly learning platform, Other Digital Version |
Page 156
Exercise Solution and Bullet Points |
Remove the following annotation (including the arrow) from the Exercise Solution box:
What happens if you don’t add this last line to your PickedCards label? Does it look weird? Can you sleuth out how to fix it?
Remove the extra word "is" in the following bullet in the Bullet Points:
The global namespace is contains the top-level statements and any class not explicitly put into a namespace using a namespace declaration.
|
Andrew Stellman |
Sep 26, 2024 |
Dec 19, 2024 |
|
Page 165, 160, 188
Mentions of "new Random()" |
These pages reference the following statement from code earlier in the book:
static Random random = new Random();
That statement was removed in the 5th edition.
Note from the Author or Editor: On page 160:
Remove the graphic of Nina sitting in a chair, the thought bubble, and the learner answer "Yes! You've already created instances in your own code." and the text and code underneath it.
On page 165:
Remove the following text:
You’ve seen how classes can contain fields as well as methods. We just saw how you used the static keyword to declare a field in your CardPicker class:
static Random random = new Random();
What happens if you take away that static keyword? Then the field becomes an instance field, and every time you instantiate the class, the
new instance that was created gets its own copy of that field.
and replace it with the following (put the word "field" in boldface):
We just saw an example of a House class that's used to instantiate House objects. Each house needs to remember its address: the 38 Pine Street instance of House needs to store its specific address, while the 115 Oak Drive instance needs to remember a different one.
This is where fields come in—they store the data that each instance of the class needs to keep track of. Every time you instantiate the class, the new instance that was created gets its own copy of that field.
On page 188, remove the following bullet point:
When you included new Random(); in your code, you were creating an instance of the Random class.
|
Andrew Stellman (author) |
Aug 31, 2024 |
Dec 19, 2024 |
|
Page 184
Third line of exercise solution, unnecessary assignment to random variable |
Unnecessary assignment to variable random. (We call Random.Shared.NextDouble())
Note from the Author or Editor: Remove this line of code:
Random random = new Random();
|
onyx |
Sep 01, 2024 |
Dec 19, 2024 |
|
Page 236
First Instruction step (not sure of location as I have the Kindle eBook version) |
In the Fifth Edition of your book there is a breakpoint positioning error in Chapter 2 on page 236 (I hope you can locate it by referring to the exact text).
In the first instruction is to: "Click on the line just above the first loop and choose Toggle Breakpoint (F9) from the Debug menu to add a breakpoint"
This appears to be an error as the IDE for Visual Studio 2022 Comm. does not allow you to place a breakpoint on a blank line.
Note from the Author or Editor: Change the text: "Click on the line just above the first loop"
to: "Click on the line of code just above the first loop"
|
David Fournier |
Sep 19, 2024 |
Dec 19, 2024 |
|
Page 375
First sentence |
Typo Beehive Nanagement System.
Note from the Author or Editor: Change "Nanagement" to "Management"
|
onyx |
Sep 01, 2024 |
Dec 19, 2024 |
|
Page 561
Under subheading LINQ queries are built from clauses, first sentence |
Currently reads: 'Let’s build a query that finds the numbers in an int array that are under 37 and puts those numbers in ascending order.'
However, the LINQ query presented sorts the numbers in descending order.
Note from the Author or Editor: Change: "and puts those numbers in ascending order."
To: "and puts those numbers in descending order."
|
onyx |
Sep 01, 2024 |
Dec 19, 2024 |
|
Page 723
Top of page, handwritten question. |
This needs checking but the question at the top of the page:
'Remember the sealed modifier from Chapter 7? It’s how you set up a class that can’t be extended.'
Refers to the sealed modifier from chapter 7, but I don't think the sealed modifier had been mentioned by that point. I may be mistaken though.
Note from the Author or Editor: This is correct. Make the following changes.
Page 699:
Remove the annotation "Structs can implement interfaces but can't subclass other classes. And structs are sealed so they can't be extended."
Replace it with a caption box (one of those boxes with rounded corners) with the following text:
Structs can implement interfaces but can't subclass other classes. And structs are sealed so they can't be extended. You can make any class sealed by adding the sealed access modifier to it.
Add Access modifiers, sealed to the index
Page 723:
Change this annotation: "Remember the sealed modifier from chapter 7? It's how you set up a class that can't be extended."
To this: "We talked about earlier in the chapter about how structs are sealed, and how you can use the sealed access modifier to make a class that can't be extended."
|
onyx |
Sep 01, 2024 |
Dec 19, 2024 |