英語で読む

次の方法で共有


Nullable<T> 構造体

定義

null を割り当て可能な値型を表します。

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

型パラメーター

T

Nullable<T> ジェネリック型の基になる値型。

継承
Nullable<T>
属性

次のコード例では、Microsoft Pubs サンプル データベースでテーブルの 3 行を定義します。 テーブルには、null 許容ではない 2 つの列と null 許容の 2 つの列が含まれています。

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
.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

こちらもご覧ください