共用方式為


在類別設計工具中建立 Nullable 類型

某些值類型不一定總是有已定義的值(或需要這樣的值)。 這是資料庫中的常見做法,其中某些欄位可能未指派任何值。 例如,您可以將 Null 值指派給資料庫欄位,以表示尚未指派值。

可為 Null 的類型是經過擴充的值類型,使其不僅能接收該類型的典型值範圍,也能接受 Null 值。 例如,可空的Int32,也表示為 Nullable<Int32>,可以被指派任何值,從 -2147483648 到 2147483647,或指派空值。 Nullable 型別的<bool> 可以被指派值 TrueFalse 或者 null(沒有任何值)。

可為 Null 的類型是 Nullable<T> 結構的實例。 可為 Null 類型的每個實體都有兩個公用唯讀屬性,HasValueValue

  • HasValue 型別為 , bool 並指出變數是否包含已定義的值。 True 表示變數包含非 Null 值。 您可以使用if (x.HasValue)if (y != null)等語句來測試已定義的值。

  • Value 與基礎類型相同。 如果 HasValueTrueValue 則包含有意義的值。 如果 HasValueFalse,則 Value 存取會擲回無效的作業例外狀況。

根據預設,當您將變數宣告為可為 Null 的型別時,除了其基礎實值型別的預設值以外,它沒有定義的值 (HasValueFalse)。

類別設計工具會顯示可為 Null 的類型,就像它顯示其基礎類型一樣。

如需有關 C# 中可空型別的詳細資訊,請參閱 可空型別。 如需 Visual Basic 中可空值型別的資訊,請參閱 可空值型別

備註

本文中的指示說明 Visual Studio 中可用的互動式開發體驗 (IDE) 最新版本。 您的電腦可能會顯示某些使用者介面元素的不同名稱或位置。 您可能使用不同的 Visual Studio 版本或不同的環境設定。 如需詳細資訊,請參閱 個人化 IDE

使用類別設計器新增 Nullable 類型

  1. 在類別圖表中,展開現有的類別或建立新的類別。

  2. 若要將類別新增至專案,請在 [ 類別圖表 ] 功能表上,按兩下 [ 新增>類別]。

  3. 若要展開類別圖形,請在 [ 類別圖表 ] 功能表上,按兩下 [ 展開]。

  4. 選取類別圖形。 在 [ 類別圖表] 功能表上,按兩下 [ 新增>欄位]。 具有預設名稱 Field 的新欄位會出現在類別圖形中,也會出現在 [ 類別詳細數據 ] 視窗中。

  5. 在 [類別詳細數據] 視窗的 [名稱] 資料行中(或在類別圖形本身中),將新欄位的名稱變更為有效且有意義的名稱。

  6. 在 [類別詳細 視窗的 [類型] 資料行中,藉由指定以下內容,將類型設為可為 Null 的類型:

    • int? (Visual C#)
    • Nullable(Of Integer) (Visual Basic)

使用程式碼編輯器新增可空的類型

  1. 將類別加入至專案。 在 [方案總管] 中選取項目節點,然後在 [ 專案 ] 功能表上,單擊 [ 新增類別]。

  2. 在新類別的 .cs 或 .vb 檔案中,將新類別中的一或多個可為 Null 型別新增到類別宣告中。

    // Declare a nullable type in Visual C#:
    class Test
    {
       int? building_number = 5;
    }
    
  3. 從 [類別檢視],將新的類別圖示拖曳至類別設計介面。 類別形狀會出現在類別圖中。

  4. 展開類別圖形的詳細數據,並將滑鼠指標移至類別成員上方。 工具提示會顯示每個成員的宣告。

  5. 以滑鼠右鍵按兩下類別圖形,然後按兩下 [ 類別詳細數據]。 您可以在 [ 類別詳細 資料] 視窗中檢視或修改新類型的屬性。