정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Nullable<T>.GetValueOrDefault 메서드 (T)

2013-12-13

현재 Nullable<T> 개체의 값이나 지정된 기본값을 검색합니다.

Namespace:  System
어셈블리:  mscorlib(mscorlib.dll)

public T GetValueOrDefault(
	T defaultValue
)

매개 변수

defaultValue
형식: T
HasValue 속성이 false인 경우 반환할 값입니다.

반환 값

형식: T
HasValue 속성이 true이면 Value 속성의 값이고, 그렇지 않으면 defaultValue 매개 변수입니다.

GetValueOrDefault 메서드는 HasValue 속성이 false로 지정된 경우에도 값을 반환합니다. 반면, Value 속성이 이와 같이 지정되면 예외가 발생합니다.

다음 코드 예제에서는 Nullable<T> 개체의 값이 정의되어 있으면 해당 값을 검색하고, 그렇지 않으면 기본값이나 특정 기본값을 검색합니다.


// This code example demonstrates the 
// Nullable<T>.GetValueOrDefault methods.

using System;

class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      float? mySingle = 12.34f;
      float? yourSingle = -1.0f;

      outputBlock.Text += "*** Display a value or the default value ***\n" + "\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;

      outputBlock.Text += "\n*** Display a value or the ";
      outputBlock.Text += "specified default value ***\n" + "\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]

*/


Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

표시: