Nullable types have also a ?? -operator, that defines a default value that is returned when a nullable type is assigned to a non-nullable type. For example, you can use it to form a following operation: "a = b, unless b is null, in which case a=c". Or you can think it to be similar to SQL's NVL()-function.
Below is a code sample how to use nullable types and ??-operator.
1 using System;
2 3 namespace NullableTest
4 { 5 class Tester
6 { 7 static void Main(string[] args)
8 { 9 int? i = null;
10 int? k = 5;
11 12 // d = c, unless c is null, in which case d = -1.
13 int a = i ?? -1;
14 15 Console.WriteLine("Value of a is {0}", a);
16 17 // check if i has value
18 if(i.HasValue)
19 Console.WriteLine("Value of i is {0}", i.Value);
20 else
21 Console.WriteLine("i is null");
22 23 // check if k has value
24 if (k.HasValue)
25 Console.WriteLine("Value of k is {0}", k.Value);
26 else
27 Console.WriteLine("k is null");
28 29 Console.ReadLine();
30 } 31 } 32 } Further reading at MSDN:
Using Nullable Types (C# Programming Guide)
Nullable Types (C# Programming Guide)
No comments:
Post a Comment