Skip to content

Commit ae29325

Browse files
Merge pull request #181 from IntelliTect/various-additional-fixes
Updated Chapters 2/3/4 with corrections
2 parents c48cfb8 + c35e64a commit ae29325

17 files changed

+32
-37
lines changed

Errata.md

+6
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@ Salim Gangji | 1 | 12 | First paragraph: For a single
1515
Pieter Le Roux | 1 | 31 | Last Line: Table 1.2 shows four different C# comment types. The program in <s>Listing 1.18</s> Listing 1.19 includes two of these.
1616
Benjamin Michaelis | 1 | 31 | Last Line: Table 1.2 shows four different C# comment types. The program in Listing 1.19 includes <s>two</s>three of these.
1717
Salim Gangji | 2 | 51 | Output 2.3: <s>1.61803398874985</s> 1.618033988749895
18+
Alden Bansemer | 2 | 55 | Listing 2.9: <s>`result == number`</s> `{result} == {number}`. Output 2.7: <s>`result == number`</s> `1.61803398874989 == 1.61803398874989`.
19+
Alden Bansemer | 3 | 89 | Listing 3.4: Changed <s>`class 3.2->3.Uppercase`</s> to match source `class Uppercase`.
20+
Alden Bansemer | 3 | 113 | Output 3.2: `TypeScript` replaced with `Visual Basic` as last element in sorted array and first element in the reversed, sorted array.
21+
Alden Bansemer | 3 | 114 | Output 3.3: Added missing second line of output: `3`.
22+
Alden Bansemer | 4 | 129 | Listing 4.7: Removed Trace.Assert to match codebase. Removed example #4, float converted to double now matches the double.
23+
Alden Bansemer | 4 | 130 | Output 4.6: Updated results of Listing 4.7 to remove <s>`4.20000006258488 != 4.20000028610229`</s>.
1824
Pieter Le Roux | 5 | 215 | Output 5.4: ERROR: You must specify the URL <s>to be downloaded</s> and the file name **Usage:** Downloader.exe <URL> <TargetFileName>
1925
Pieter Le Roux | 6 | 285 | Last Line in second paragraph: "DO use nameof for the paramName argument passed into exceptions like Argument<s>Null</s>Exception and ArgumentNullException that take such a parameter. For more information, see Chapter 18."
2026
Pieter Le Roux | 7 | 359 | return <s>@</s>$"FirstName: { FirstName + NewLine }" + $"LastName: { LastName + NewLine }"+ $"Address: { Address + NewLine }";

src/Chapter02/Listing02.15.UsingStaticDirectives.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
namespace AddisonWesley.Michaelis.EssentialCSharp.Chapter02.Listing02_15
22
{
33
using static System.Console;
4-
class HeyYou
4+
public class HeyYou
55
{
6-
static void Main()
6+
public static void Main()
77
{
88
string firstName;
99
string lastName;

src/Chapter02/Listing02.17.Error-StringIsImmutable.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public static void Main()
99
System.Console.Write("Enter text: ");
1010
text = System.Console.ReadLine();
1111

12-
//UNEXPECTED: Does not convert text to uppercase
12+
// UNEXPECTED: Does not convert text to uppercase
1313
text.ToUpper();
1414

1515
System.Console.WriteLine(text);

src/Chapter03.Tests/Listing03.27.Slicing.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ public void Main_GetLengthOfDimensionOf3DArray_ReturnsLength()
1111
const string expected =
1212
@" 0..3: C#, COBOL, Java
1313
^3..^0: Python, Lisp, JavaScript
14-
3..^3: C++, TypeScript, Pascal
14+
3..^3: C++, TypeScript, Swift
1515
..^6: C#, COBOL, Java
1616
6..: Python, Lisp, JavaScript
17-
..: C#, COBOL, Java, C++, TypeScript, Pascal, Python, Lisp, JavaScript
18-
..: C#, COBOL, Java, C++, TypeScript, Pascal, Python, Lisp, JavaScript";
17+
..: C#, COBOL, Java, C++, TypeScript, Swift, Python, Lisp, JavaScript
18+
..: C#, COBOL, Java, C++, TypeScript, Swift, Python, Lisp, JavaScript";
1919

2020
IntelliTect.TestTools.Console.ConsoleAssert.Expect(
2121
expected, Program.Main);

src/Chapter03/Listing03.09.ArrayDeclarationWithAssignment.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ public class Program
55
public static void Main()
66
{
77
string[] languages = { "C#", "COBOL", "Java",
8-
"C++", "TypeScript", "Pascal",
8+
"C++", "TypeScript", "Visual Basic",
99
"Python", "Lisp", "JavaScript" };
1010
}
1111
}

src/Chapter03/Listing03.10.ArrayAssignmentFollowingDeclaration.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ public static void Main()
66
{
77
string[] languages;
88
languages = new string[] { "C#", "COBOL", "Java",
9-
"C++", "TypeScript", "Pascal",
9+
"C++", "TypeScript", "Visual Basic",
1010
"Python", "Lisp", "JavaScript" };
1111
}
1212
}

src/Chapter03/Listing03.11.ArrayAssignmentWithNewDuringDeclaration.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ public static void Main()
66
{
77
string[] languages = new string[] {
88
"C#", "COBOL", "Java",
9-
"C++", "TypeScript", "Pascal",
9+
"C++", "TypeScript", "Visual Basic",
1010
"Python", "Lisp", "JavaScript" };
1111
}
1212
}

src/Chapter03/Listing03.12.DeclarationAndAssignmentWithTheNewKeyword.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ public static void Main()
66
{
77
string[] languages = new string[9] {
88
"C#", "COBOL", "Java",
9-
"C++", "TypeScript", "Pascal",
9+
"C++", "TypeScript", "Visual Basic",
1010
"Python", "Lisp", "JavaScript" };
1111
}
1212
}

src/Chapter03/Listing03.20.DeclaringAndAccessingAnArray.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ public static void Main()
66
{
77
string[] languages = new string[] {
88
"C#", "COBOL", "Java",
9-
"C++", "TypeScript", "Pascal",
9+
"C++", "TypeScript", "Visual Basic",
1010
"Python", "Lisp", "JavaScript"};
1111
// Retrieve fifth item in languages array (TypeScript)
1212
string language = languages[4];

src/Chapter03/Listing03.21.SwappingDataBetweenPositionsInAnArray.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ public static void Main()
66
{
77
string[] languages = new string[] {
88
"C#", "COBOL", "Java",
9-
"C++", "TypeScript", "Pascal",
9+
"C++", "TypeScript", "Visual Basic",
1010
"Python", "Lisp", "JavaScript" };
1111
// Save "C++" to variable called language
1212
string language = languages[3];

src/Chapter03/Listing03.27.Slicing.cs

+4-9
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ public static void Main()
66
{
77
string[] languages = new string[] {
88
"C#", "COBOL", "Java",
9-
"C++", "TypeScript", "Pascal",
9+
"C++", "TypeScript", "Swift",
1010
"Python", "Lisp", "JavaScript"};
1111

1212
System.Console.WriteLine($@" 0..3: {
@@ -16,7 +16,7 @@ public static void Main()
1616
string.Join(", ", languages[^3..^0]) // Python, Lisp, JavaScript
1717
}");
1818
System.Console.WriteLine($@" 3..^3: {
19-
string.Join(", ", languages[3..^3]) // C++, TypeScript, Pascal
19+
string.Join(", ", languages[3..^3]) // C++, TypeScript, Swift
2020
}");
2121
System.Console.WriteLine($@" ..^6: {
2222
string.Join(", ", languages[..^6]) // C#, COBOL, Java
@@ -25,16 +25,11 @@ public static void Main()
2525
string.Join(", ", languages[6..]) // Python, Lisp, JavaScript
2626
}");
2727
System.Console.WriteLine($@" ..: {
28-
// C#, COBOL, Java, C++, TypeScript, Pascal, Python, Lisp, JavaScript
28+
// C#, COBOL, Java, C++, TypeScript, Swift, Python, Lisp, JavaScript
2929
string.Join(", ", languages[..]) // Python, Lisp, JavaScript
3030
}");
31-
32-
33-
34-
35-
3631
System.Console.WriteLine($@" ..: {
37-
// C#, COBOL, Java, C++, TypeScript, Pascal, Python, Lisp, JavaScript
32+
// C#, COBOL, Java, C++, TypeScript, Swift, Python, Lisp, JavaScript
3833
string.Join(", ", languages[0..^0]) // Python, Lisp, JavaScript
3934
}");
4035
}

src/Chapter03/Listing03.28.AdditionalArrayMethods.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ public static void Main()
66
{
77
string[] languages = new string[]{
88
"C#", "COBOL", "Java",
9-
"C++", "TypeScript", "Pascal",
9+
"C++", "TypeScript", "Swift",
1010
"Python", "Lisp", "JavaScript"};
1111

1212
System.Array.Sort(languages);

src/Chapter04.Tests/Listing04.02.Negative.Tests.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public class ProgramTests
88
[TestMethod]
99
public void MainTest()
1010
{
11-
const string expected = @"-18125876697430.99";
11+
const string expected = @"-26457079712930.80";
1212

1313
IntelliTect.TestTools.Console.ConsoleAssert.Expect(
1414
expected, Program.Main);

src/Chapter04/Listing04.02.Negative.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ public class Program
55
public static void Main()
66
{
77
//National Debt to the Penny
8-
decimal debt = -18125876697430.99M;
8+
decimal debt = -26457079712930.80M;
99

1010
System.Console.WriteLine(debt);
1111
}

src/Chapter04/Listing04.07.UnexpectedInequality.cs

+4-10
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,19 @@ public static void Main()
2222
System.Console.WriteLine(
2323
$"(float){(float)decimalNumber}M != {floatNumber}F");
2424

25-
// Removing - float converted to double now matches the double
26-
//Trace.Assert(doubleNumber1 != (double)floatNumber);
27-
//// 4. Displays: 4.20000028610229 != 4.20000028610229
28-
//System.Console.WriteLine(
29-
// $"{doubleNumber1} != {(double)floatNumber}");
30-
31-
// 5. Displays: 4.200000286102295 != 4.2
25+
// 4. Displays: 4.200000286102295 != 4.2
3226
System.Console.WriteLine(
3327
$"{doubleNumber1} != {doubleNumber2}");
3428

35-
// 6. Displays: 4.2000003F != 4.2D
29+
// 5. Displays: 4.2000003F != 4.2D
3630
System.Console.WriteLine(
3731
$"{floatNumber}F != {doubleNumber2}D");
3832

39-
// 7. Displays: 4.199999809265137 != 4.2
33+
// 6. Displays: 4.199999809265137 != 4.2
4034
System.Console.WriteLine(
4135
$"{(double)4.2F} != {4.2D}");
4236

43-
// 8. Displays: 4.2F != 4.2D
37+
// 7. Displays: 4.2F != 4.2D
4438
System.Console.WriteLine(
4539
$"{4.2F}F != {4.2D}D");
4640
}

src/Chapter04/Listing04.18.ComparingPrefixAndPostfix.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ public static void Main()
88
// Displays 123, 124, 125
99
System.Console.WriteLine($"{x++}, {x++}, {x}");
1010
// x now contains the value 125
11-
// Displays 126, 127, 128
11+
// Displays 126, 127, 127
1212
System.Console.WriteLine($"{++x}, {++x}, {x}");
13-
// x now contains the value 128
13+
// x now contains the value 127
1414
}
1515
}
1616
}

src/Shared/Program.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public static void Main(string[] args)
4545
{
4646
input = ParseListingName(input);
4747

48-
Regex reg = new Regex($"{input}\\.+");
48+
Regex reg = new Regex($"Listing{input}\\.+");
4949

5050
IEnumerable<Type?> targets = assembly.GetTypes().Where(type =>
5151
{

0 commit comments

Comments
 (0)