mirror of
https://github.com/markjprice/cs11dotnet7.git
synced 2025-12-06 05:32:03 +01:00
32 lines
706 B
C#
32 lines
706 B
C#
int thisCannotBeNull = 4;
|
|
//thisCannotBeNull = null; // compile error!
|
|
WriteLine(thisCannotBeNull);
|
|
|
|
int? thisCouldBeNull = null;
|
|
|
|
WriteLine(thisCouldBeNull);
|
|
WriteLine(thisCouldBeNull.GetValueOrDefault());
|
|
|
|
thisCouldBeNull = 7;
|
|
|
|
WriteLine(thisCouldBeNull);
|
|
WriteLine(thisCouldBeNull.GetValueOrDefault());
|
|
|
|
// the actual type of int? is Nullable<int>
|
|
Nullable<int> thisCouldAlsoBeNull = null;
|
|
thisCouldAlsoBeNull = 9;
|
|
WriteLine(thisCouldAlsoBeNull);
|
|
|
|
// Declaring non-nullable variables and parameters
|
|
|
|
Address address = new()
|
|
{
|
|
Building = null,
|
|
Street = null!, // null-forgiving operator
|
|
City = "London",
|
|
Region = "UK"
|
|
};
|
|
|
|
WriteLine(address.Building?.Length);
|
|
WriteLine(address.Street.Length);
|