Nullable Nullable Nullable Nullable Class


null を割り当て可能な値型をサポートします。Supports a value type that can be assigned null. このクラスは継承できません。This class cannot be inherited.

public ref class Nullable abstract sealed
public static class Nullable
type Nullable = class
Public Class Nullable


型が値を割り当てることができるまたは割り当てることができる場合は null 許容にすると言いますnull型、つまりまったく値がありません。A type is said to be nullable if it can be assigned a value or can be assigned null, which means the type has no value whatsoever. 既定では、参照型はすべてなどString、すべての値だけですが、null 許容型の場合はなどInt32でないです。By default, all reference types, such as String, are nullable, but all value types, such as Int32, are not.

C# および Visual Basic の場合でを使用して null 値許容と値の型をマークする、?値型の後に表記します。In C# and Visual Basic, you mark a value type as nullable by using the ? notation after the value type. たとえば、 int? (C#) またはInteger?Visual Basic では、割り当てることのできる整数値の型を宣言します。nullします。For example, int? in C# or Integer? in Visual Basic declares an integer value type that can be assigned null.

Nullableクラスは、補完的なサポートを提供します。、Nullable<T>構造体。The Nullable class provides complementary support for the Nullable<T> structure. Nullableクラスは、null 許容型の基になる種類を取得する、サポートし、型の値を基になる null 許容型のペアの比較と等しいかどうかの操作は、汎用の比較と等しいかどうかの操作をサポートしていません。The Nullable class supports obtaining the underlying type of a nullable type, and comparison and equality operations on pairs of nullable types whose underlying value type does not support generic comparison and equality operations.

ボックス化とボックス化解除Boxing and Unboxing

共通言語ランタイムの基になる値のボックスを自動的に null 許容型がボックス化するとき、Nullable<T>オブジェクトは、Nullable<T>オブジェクト自体です。When a nullable type is boxed, the common language runtime automatically boxes the underlying value of the Nullable<T> object, not the Nullable<T> object itself. つまり場合、HasValueプロパティはtrueの内容、Valueプロパティのボックス化されます。That is, if the HasValue property is true, the contents of the Value property is boxed. 場合、HasValueプロパティはfalsenullボックス化されます。If the HasValue property is false, null is boxed. 共通言語ランタイムを作成し、新しい null 許容型の基になる値がボックス化されたNullable<T>構造体の基になる値に初期化します。When the underlying value of a nullable type is unboxed, the common language runtime creates a new Nullable<T> structure initialized to the underlying value.


Compare<T>(Nullable<T>, Nullable<T>) Compare<T>(Nullable<T>, Nullable<T>) Compare<T>(Nullable<T>, Nullable<T>) Compare<T>(Nullable<T>, Nullable<T>)

2 つの Nullable<T> オブジェクトの相対値を比較します。Compares the relative values of two Nullable<T> objects.

Equals<T>(Nullable<T>, Nullable<T>) Equals<T>(Nullable<T>, Nullable<T>) Equals<T>(Nullable<T>, Nullable<T>) Equals<T>(Nullable<T>, Nullable<T>)

2 つの指定された Nullable<T> オブジェクトが等しいかどうかを示します。Indicates whether two specified Nullable<T> objects are equal.

GetUnderlyingType(Type) GetUnderlyingType(Type) GetUnderlyingType(Type) GetUnderlyingType(Type)

指定した NULL 許容型の基になる型を返します。Returns the underlying type argument of the specified nullable type.