閱讀英文

共用方式為


Nullable<T> 結構

定義

表示可以指派 null 的實值類型。

C#
public struct Nullable<T> where T : struct
C#
[System.Serializable]
public struct Nullable<T> where T : struct

類型參數

T

Nullable<T> 泛型型別的基礎實值型別。

繼承
Nullable<T>
屬性

範例

下列程式代碼範例會定義 Microsoft Pubs 範例資料庫中數據表的三個數據列。 數據表包含兩個不可為 Null 的數據行,以及兩個可為 Null 的數據行。

C#
using System;

class Sample
{
    // Define the "titleAuthor" table of the Microsoft "pubs" database.
    public struct titleAuthor
    {
      // Author ID; format ###-##-####
      public string au_id;
      // Title ID; format AA####
      public string title_id;
      // Author ORD is nullable.
      public short? au_ord;
      // Royalty Percent is nullable.
      public int? royaltyper;
    }

    public static void Main()
    {
      // Declare and initialize the titleAuthor array.
      titleAuthor[] ta = new titleAuthor[3];
      ta[0].au_id = "712-32-1176";
      ta[0].title_id = "PS3333";
      ta[0].au_ord = 1;
      ta[0].royaltyper = 100;

      ta[1].au_id = "213-46-8915";
      ta[1].title_id = "BU1032";
      ta[1].au_ord = null;
      ta[1].royaltyper = null;

      ta[2].au_id = "672-71-3249";
      ta[2].title_id = "TC7777";
      ta[2].au_ord = null;
      ta[2].royaltyper = 40;

      // Display the values of the titleAuthor array elements, and
      // display a legend.
      Display("Title Authors Table", ta);
      Console.WriteLine("Legend:");
      Console.WriteLine("An Author ORD of -1 means no value is defined.");
      Console.WriteLine("A Royalty % of 0 means no value is defined.");
    }

    // Display the values of the titleAuthor array elements.
    public static void Display(string dspTitle,
                               titleAuthor[] dspAllTitleAuthors)
    {
      Console.WriteLine("*** {0} ***", dspTitle);
      foreach (titleAuthor dspTA in dspAllTitleAuthors) {
         Console.WriteLine("Author ID ... {0}", dspTA.au_id);
         Console.WriteLine("Title ID .... {0}", dspTA.title_id);
         Console.WriteLine("Author ORD .. {0}", dspTA.au_ord ?? -1);
         Console.WriteLine("Royalty % ... {0}", dspTA.royaltyper ?? 0);
         Console.WriteLine();
      }
    }
}
// The example displays the following output:
//     *** Title Authors Table ***
//     Author ID ... 712-32-1176
//     Title ID .... PS3333
//     Author ORD .. 1
//     Royalty % ... 100
//
//     Author ID ... 213-46-8915
//     Title ID .... BU1032
//     Author ORD .. -1
//     Royalty % ... 0
//
//     Author ID ... 672-71-3249
//     Title ID .... TC7777
//     Author ORD .. -1
//     Royalty % ... 40
//
//     Legend:
//     An Author ORD of -1 means no value is defined.
//     A Royalty % of 0 means no value is defined.

備註

如需此 API 的詳細資訊,請參閱可為<Null T> 的補充 API 備註

建構函式

Nullable<T>(T)

Nullable<T> 結構的新執行個體初始化為指定值。

屬性

HasValue

取得值,指出目前的 Nullable<T> 物件是否具有其基礎類型的有效值。

Value

取得目前 Nullable<T> 物件的值,如果這個物件已有指派的有效基礎值。

方法

Equals(Object)

指示目前的 Nullable<T> 物件是否等於指定的物件。

GetHashCode()

擷取 Value 屬性所傳回之物件的雜湊碼。

GetValueOrDefault()

擷取目前 Nullable<T> 物件的值,或底層型別的預設值。

GetValueOrDefault(T)

擷取目前 Nullable<T> 物件的值,或指定的預設值。

ToString()

傳回目前 Nullable<T> 物件值的文字表示。

運算子

Explicit(Nullable<T> to T)

定義 Nullable<T> 執行個體到其基礎值的明確轉換。

Implicit(T to Nullable<T>)

建立新 Nullable<T> 已經初始化為指定值的物件。

適用於

產品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

另請參閱