Nullable<T>.GetValueOrDefault 方法  
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
检索当前 Nullable<T> 对象的值或默认值。
重载
| GetValueOrDefault() | 检索当前 Nullable<T> 对象的值,或基础类型的默认值。 | 
| GetValueOrDefault(T) | 检索当前 Nullable<T> 对象的值或指定的默认值。 | 
示例
下面的代码示例检索对象的值 Nullable<T> (如果定义了该值);否则,它将检索默认值或特定的默认值。
// This code example demonstrates the
// Nullable<T>.GetValueOrDefault methods.
using System;
class Sample
{
    public static void Main()
    {
    float? mySingle = 12.34f;
    float? yourSingle = -1.0f;
   Console.WriteLine("*** Display a value or the default value ***\n");
// Display the values of mySingle and yourSingle.
    Display("A1", mySingle, yourSingle);
// 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();
    Display("A2", mySingle, yourSingle);
// 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 = null;
    yourSingle = mySingle.GetValueOrDefault();
    Display("A3", mySingle, yourSingle);
// Reassign the original values of mySingle and yourSingle.
    mySingle = 12.34f;
    yourSingle = -1.0f;
    Console.Write("\n*** Display a value or the ");
    Console.WriteLine("specified default value ***\n");
// Display the values of mySingle and yourSingle.
    Display("B1", mySingle, yourSingle);
// 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("B2", mySingle, yourSingle);
// 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 = null;
    yourSingle = mySingle.GetValueOrDefault(-333.33f);
    Display("B3", mySingle, yourSingle);
    }
// 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 static void Display(string title, float? dspMySingle, float? dspYourSingle)
    {
    Console.WriteLine("{0}) mySingle = [{1}], yourSingle = [{2}]",
                      title, dspMySingle, dspYourSingle);
    }
}
/*
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]
*/
// This code example demonstrates the
// Nullable<T>.GetValueOrDefault methods.
open System
// Display the values of two nullable of System.Single structures.
// The printfn string interpolation 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 ("").
let display title dspMySingle dspYourSingle =
    printfn $"{title}) mySingle = [{dspMySingle}], yourSingle = [{dspYourSingle}]"
let mySingle = Nullable 12.34f
let yourSingle = Nullable -1f
[<EntryPoint>]
let main _ =
    printfn "*** Display a value or the default value ***\n"
    // Display the values of mySingle and yourSingle.
    display "A1" mySingle yourSingle
    // Shadow 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.
    let yourSingle = mySingle.GetValueOrDefault()
    display "A2" mySingle yourSingle
    // Shadow 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.
    let mySingle = Nullable()
    let yourSingle = mySingle.GetValueOrDefault()
    display "A3" mySingle yourSingle
    // Shadow the original values of mySingle and yourSingle.
    let mySingle = Nullable 12.34f
    let yourSingle = Nullable -1.0f
    printf "\n*** Display a value or the "
    printfn "specified default value ***\n"
    // Display the values of mySingle and yourSingle.
    display "B1" mySingle yourSingle
    // Shadow 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.
    let yourSingle = mySingle.GetValueOrDefault -222.22f
    display "B2" mySingle yourSingle
    // Shadow null (Nothing in Visual Basic) to mySingle, which means no value is
    // defined for mySingle. Then shadow 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.
    let mySingle = Nullable()
    let yourSingle = mySingle.GetValueOrDefault -333.33f
    display "B3" mySingle yourSingle
    0
// 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]
' This code example demonstrates the 
' Nullable(Of T).GetValueOrDefault methods.
Class Sample
    Public Shared Sub Main() 
        Dim mySingle As Nullable(Of System.Single) = 12.34F 
        Dim yourSingle As Nullable(Of System.Single) = - 1.0F 
        
        Console.WriteLine("*** Display a value or the default value ***" & vbCrLf)
    ' Display the values of mySingle and yourSingle.
        Display("A1", mySingle, yourSingle)
        
    ' 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()
        Display("A2", mySingle, yourSingle)
        
    ' 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("A3", mySingle, yourSingle)
        
    ' Reassign the original values of mySingle and yourSingle.
        mySingle = 12.34F
        yourSingle = - 1.0F
        
        Console.Write(vbCrLf & "*** Display a value or the ")
        Console.WriteLine("specified default value ***" & vbCrLf)
        
    ' Display the values of mySingle and yourSingle.
        Display("B1", mySingle, yourSingle)
        
    ' 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("B2", mySingle, yourSingle)
        
    ' 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("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 title As String, _
                              ByVal dspMySingle As Nullable(Of System.Single), _
                              ByVal dspYourSingle As Nullable(Of System.Single))
        If (True) Then
            Console.WriteLine("{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]
'
GetValueOrDefault()
- Source:
- Nullable.cs
- Source:
- Nullable.cs
- Source:
- Nullable.cs
检索当前 Nullable<T> 对象的值,或基础类型的默认值。
public:
 T GetValueOrDefault();public T GetValueOrDefault ();public readonly T GetValueOrDefault ();member this.GetValueOrDefault : unit -> 'TPublic Function GetValueOrDefault () As T返回
如果该HasValue属性为 ,Value则为 属性true的值;否则为基础类型的默认值。
注解
              GetValueOrDefault方法返回一个值,HasValue即使属性 (false 与 属性不同Value,该属性) 引发异常。 
              HasValue如果 属性为 false,则该方法返回基础类型的默认值。
另请参阅
适用于
GetValueOrDefault(T)
- Source:
- Nullable.cs
- Source:
- Nullable.cs
- Source:
- Nullable.cs
检索当前 Nullable<T> 对象的值或指定的默认值。
public:
 T GetValueOrDefault(T defaultValue);public T GetValueOrDefault (T defaultValue);public readonly T GetValueOrDefault (T defaultValue);member this.GetValueOrDefault : 'T -> 'TPublic Function GetValueOrDefault (defaultValue As T) As T参数
- defaultValue
- T
如果 HasValue 属性为 false,则为一个返回值。
返回
如果 Value 属性为 HasValue,则为 true 属性的值;否则为 defaultValue 参数。
注解
              GetValueOrDefault方法返回一个值,HasValue即使属性 (false 与 属性不同Value,该属性) 引发异常。