Table of contents
C# types can be broadly categorized into two main groups: value types and reference types.
Value types encompass familiar data types such as int, float, double, structs, and enums.
On the other hand, reference types include interfaces, classes, delegates, arrays, and more.
Now, let's distinguish between nullable and non-nullable types:
Nullable types can hold a value or be null.
Non-nullable types must always contain a value and cannot be null.
Understanding these concepts is crucial, particularly when dealing with data that might have null values, such as when storing information in a database.
// Nullable
int AvailableStudentId = null
// the line above will try an error error CS0037: Cannot convert null to 'int'
//because it is a non-nullable value type
// but adding a ? it will convert it to a nullable value
int? AvailableStudentId = null
To assist with null value handling, C# offers the Null Coalescing Operator, denoted by ??
. This operator returns the value of its left-hand operand if it is not null; otherwise, it evaluates the right-hand operand and returns its result.
int? AvailableStudentId = null
int StudentName = AvailableStudentId ?? 0
By mastering these foundational concepts and utilizing the Null Coalescing Operator effectively, you'll enhance your ability to manage null values and write more robust C# code