in C# before the Nullable(?) was invented...and Why are we need to worried about null or not null?
The default value of an uninitialized int is zero which is a valid integer value. But what if you need to validate a int that was entered by a user or passed to a service endpoint by code? That's where nullable types are handy. An int? can be null.
The C# reference documentation illustrates the concept with code examples.
Nullable value types (C# reference)
Which can be null?which can't be null?
The default value of a reference type is null while the default value of a value type depends on the value type. An int is zero. A bool is false...