Not even a thought has arisen; is there still a sin or not?
—Zen Koan, 10th Century CE
This is a chapter about nothing! Specifically, it’s about how we handle the absence of data in our programs. It’s a more important topic than you might think at first: bugs caused by incorrect handling of missing data, typically manifested as “null reference errors,” are distressingly common in Object-Oriented programs. And this still happens, despite code to avoid such errors forming a significant proportion of the line count of many C# code bases.
In this ...