C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
C# NullableIn C#, Nullable is a concept that allows a type to hold an additional value null. In other words, we can make a variable Nullable, so, it can hold additional null value. All Nullable variables are the instances of System.Nullable<T> struct. The concept of Nullable is useful when we deal with databases that contain elements that may not be assigned a value. C# provides two different ways to create Nullable types.
Note: we cannot create Nullable of reference type variable.C# System.Nullable ExampleIn the following example, we are making Nullable with the help of System.Nullable namespace. // NullableExample2.cs using System; namespace CSharpFeatures { class NullableExample2 { static void Main(string[] args) { Nullable<int> a = 10; Nullable<double> d = 10.10; Nullable<char> c = 'S'; Nullable<bool> b = false; // Displaying value Console.WriteLine(a.Value); // assigning null values a = null; d = null; c = null; b = null; // Checking, does "a" contain value ? if (a.HasValue) { Console.WriteLine(a.Value); } if(a == null) Console.WriteLine("It contains null value"); } } } Output: Compile the program by using the following command. csc NullableExample2.cs Run the program by using following command. NullableExample2.exe C# Nullable using ? Operator Example 1There is no significant difference between using of either System.Nullable or ? operator. We can use anyone as per our comfort. // NullableExample.cs using System; namespace CSharpFeatures { class NullableExample { static void Main(string[] args) { // Integer nullable int? a = 10; // Float nullable double? f = 10.10; // Boolean nullable bool? b = false; // Char nullable char? c = 'S'; // Checking value is present or not if (a.HasValue) { Console.WriteLine(a.Value); } else Console.WriteLine("a contains null value"); // Assigning null value a = null; if (a.HasValue) // Checking again { Console.WriteLine(a.Value); } else Console.WriteLine("a contains null value"); } } } Output: 10 a contains null value C# Nullable using ? Operator Example 2 using System; namespace CSharpFeatures { class NullableExample2 { static void Main(string[] args) { Nullable<int> a = 10; Nullable<double> d = 10.10; Nullable<char> c = 'S'; Nullable<bool> b = false; // Displaying value Console.WriteLine(a.Value); // assigning null values a = null; d = null; c = null; b = null; // Checking, does "a" contain value ? if (a.HasValue) { Console.WriteLine(a.Value); } if(a == null) Console.WriteLine("It contains null value"); } } } Output: 10 It contains null value
Next TopicC# Delegate Covariance
|