It's dangerous to code alone! Take this.

Articles

What's New in the 4th Edition

Describes the changes between the 3rd and 4th Editions.

C# Programming with Visual Studio Code

Describes how to get started programming using Visual Studio Code.

Advanced Nullable Reference Types

Gets into some advanced details of using nullable reference types, including fine-grained control over how the compiler handles nullable reference types and enabling/disabling checking line-by-line.

App Model Recommendations

A listing of some useful resources for getting started with the various .NET app models like web, desktop, mobile, and game development.

Extern Aliases

An extern alias lets you bring a DLL reference in under a separate root namespaces.

Global Lookup

You can use the global keyword to look for a type from the root.

Operators Table

A table that summarizes all of the operators in C# and their relative ordering.

Online Editors

Lists some online tools you can use to tinker with C#.

Before Starting MonoGame

Answers the question of “How much of the C# Player’s Guide should I get through before jumping into MonoGame?”

Directory.Delete

A story about a time I nearly destroyed my computer with Directory.Delete

Locks and Reading Data

Discusses the lock keyword and when to use it while reading data.

Lists and Invalid Operation Exceptions

Discusses the second workaround for modifying a list while using a foreach.

Adding `using` Directives in Namespace Declarations

Describes an advanced way you can add in a using directive inside of a namespace declaration to not have it span the entire file.

5th Edition Announcement

What to expect of the upcoming 5th Edition.

Anonymous Methods

A look at anonymous methods in C#, a precursor to lambdas.

Disabling Null Checking

Shows how to turn off the automatic null checking for a project in Visual Studio 2022.

Modern C#

Some thoughts on how C# has evolved over its life.

What's New in C# 10?

A high-level view of what’s new in C# 10.

Can Structs Have Methods?

A discussion on when it is appropriate for structs to have methods.