Challenge 1: A Nullable Warning and Its Fix — Possible Solution ==================================================================== Broken (with nullable reference types enabled) — Program.cs: string name = null; // assigning null to a non-nullable string Representative compiler warning (build still succeeds): Program.cs(1,15): warning CS8600: Converting null literal or possible null value to non-nullable type. Fixed — Program.cs: string? name = null; // explicitly opted into nullability No warning is produced for the fixed version. Explanation: With nullable reference types enabled, `string` on its own now means "this will never be null" as far as the compiler's static analysis is concerned -- assigning null to it is treated as a contract violation and flagged with warning CS8600. Changing the declared type to `string?` explicitly tells the compiler this variable is allowed to hold null, which resolves the warning entirely because the assignment is now consistent with the declared type's own contract. WHY THIS WORKS AS AN ANSWER ------------------------------ This reproduces the exact CS8600 warning the chapter describes for assigning null to a non-nullable reference type, then applies the chapter's own stated fix -- adding ? to the type -- to resolve it.