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()
擷取目前 Nullable<T> 物件的值,或底層型別的預設值。
public:
T GetValueOrDefault();
public T GetValueOrDefault ();
public readonly T GetValueOrDefault ();
member this.GetValueOrDefault : unit -> 'T
Public Function GetValueOrDefault () As T
傳回
- T
如果 HasValue 屬性是 true
,則為 Value 屬性的值;否則為底層型別的預設值。
備註
GetValueOrDefault方法會傳回值,即使 HasValue 屬性 false
(與 屬性不同 Value ,這會擲回例外狀況) 。 HasValue如果屬性為 false
,則方法會傳回基礎類型的預設值。
另請參閱
適用於
GetValueOrDefault(T)
擷取目前 Nullable<T> 物件的值,或指定的預設值。
public:
T GetValueOrDefault(T defaultValue);
public T GetValueOrDefault (T defaultValue);
public readonly T GetValueOrDefault (T defaultValue);
member this.GetValueOrDefault : 'T -> 'T
Public Function GetValueOrDefault (defaultValue As T) As T
參數
- defaultValue
- T
如果 HasValue 屬性為 false
,則為要傳回的值。
傳回
- T
如果 HasValue 屬性為 true
,則為 Value 屬性的值;否則為 defaultValue
參數。
備註
GetValueOrDefault方法會傳回值,即使 HasValue 屬性 false
(與 屬性不同 Value ,這會擲回例外狀況) 。