The default keyword is a powerful tool in C#. For reference types, it returns null, and for value types (structs), it returns a zeroed-out value. Interestingly, default(T) and new T() can yield different results for structs (check out for more info). Initially, C# required default(T), but now you can simply use default when the type can be inferred by the compiler. But how does the compiler infer the… [read more]