Nullable(Of T).GetValueOrDefault Method (T)
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Retrieves the value of the current Nullable(Of T) object, or the specified default value.
Assembly: mscorlib (in mscorlib.dll)
The GetValueOrDefault method returns a value even if the HasValue property is false (unlike the Value property, which throws an exception).
The following code example retrieves the value of a Nullable(Of T) object if that value is defined; otherwise, it retrieves the default value or a specific default value.
' This code example demonstrates the ' Nullable(Of T).GetValueOrDefault methods. Class Example Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock) Dim mySingle As Nullable(Of System.Single) = 12.34F Dim yourSingle As Nullable(Of System.Single) = -1.0F outputBlock.Text &= "*** Display a value or the default value ***" & vbCrLf ' Display the values of mySingle and yourSingle. Display(outputBlock, "A1", mySingle, yourSingle) outputBlock.Text &= vbCrLf yourSingle = mySingle.GetValueOrDefault() Display(outputBlock, "A2", mySingle, yourSingle) outputBlock.Text &= vbCrLf ' Assign null (Nothing in Visual Basic) to mySingle, which means no value is ' defined for mySingle. Then assign the value of mySingle to yourSingle and ' display the values of both variables. The default value of all binary zeroes ' is assigned to yourSingle because mySingle has no value. mySingle = Nothing yourSingle = mySingle.GetValueOrDefault() Display(outputBlock, "A3", mySingle, yourSingle) outputBlock.Text &= vbCrLf ' Reassign the original values of mySingle and yourSingle. mySingle = 12.34F yourSingle = -1.0F outputBlock.Text &= vbCrLf & "*** Display a value or the " outputBlock.Text &= "specified default value ***" & vbCrLf & vbCrLf ' Display the values of mySingle and yourSingle. Display(outputBlock, "B1", mySingle, yourSingle) outputBlock.Text &= vbCrLf ' Assign the value of mySingle to yourSingle, then display the values ' of mySingle and yourSingle. The yourSingle variable is assigned the ' value 12.34 because mySingle has a value. yourSingle = mySingle.GetValueOrDefault(-222.22F) Display(outputBlock, "B2", mySingle, yourSingle) outputBlock.Text &= vbCrLf ' Assign null (Nothing in Visual Basic) to mySingle, which means no value is ' defined for mySingle. Then assign the value of mySingle to yourSingle and ' display the values of both variables. The specified default value of -333.33 ' is assigned to yourSingle because mySingle has no value. mySingle = Nothing yourSingle = mySingle.GetValueOrDefault(-333.33F) Display(outputBlock, "B3", mySingle, yourSingle) End Sub ' Display the values of two nullable of System.Single structures. ' The Console.WriteLine method automatically calls the ToString methods of ' each input argument to display its values. If no value is defined for a ' nullable type, the ToString method for that argument returns the empty ' string (""). Public Shared Sub Display(ByVal outputBlock As System.Windows.Controls.TextBlock, _ ByVal title As String, _ ByVal dspMySingle As Nullable(Of System.Single), _ ByVal dspYourSingle As Nullable(Of System.Single)) If (True) Then outputBlock.Text += String.Format("{0}) & mySingle = [{1}], yourSingle = [{2}]", _ title, dspMySingle, dspYourSingle) End If End Sub End Class ' 'This code example produces the following results: ' 'A1) mySingle = [12.34], yourSingle = [-1] 'A2) mySingle = [12.34], yourSingle = [12.34] 'A3) mySingle = [], yourSingle = [0] ' '*** Display a value or the specified default value *** ' 'B1) mySingle = [12.34], yourSingle = [-1] 'B2) mySingle = [12.34], yourSingle = [12.34] 'B3) mySingle = [], yourSingle = [-333.33] '