英語で読む

次の方法で共有


Nullable<T>.Value プロパティ

定義

有効な基になる値が割り当てられているかどうか示す、Nullable<T> の現在の値を取得します。

C#
public T Value { get; }

プロパティ値

T

HasValue プロパティが true の場合は、現在の Nullable<T> オブジェクトの値。 HasValue プロパティが false の場合は、例外がスローされます。

例外

HasValue プロパティが false です。

次の例では、HasValue(Nullable(Of Integer)Visual Basic) オブジェクトのNullable<int>プロパティを使用して、オブジェクトのValueプロパティまたはそのGetValueOrDefaultプロパティを表示するかどうかを決定します。

C#
using System;

public class Example
{
   public static void Main()
   {
      Nullable<int> n1 = new Nullable<int>(10);
      Nullable<int> n2 = null;
      Nullable<int> n3 = new Nullable<int>(20);
      n3 = null;
      Nullable<int>[] items = { n1, n2, n3 };

      foreach (var item in items) {
         Console.WriteLine("Has a value: {0}", item.HasValue);
         if (item.HasValue) {
            Console.WriteLine("Type: {0}", item.GetType().Name);
            Console.WriteLine("Value: {0}", item.Value);
         }
         else {
            Console.WriteLine("Null: {0}", item == null);
            Console.WriteLine("Default Value: {0}", item.GetValueOrDefault());
         }
         Console.WriteLine();
      }
   }
}
// The example displays the following output:
//       Has a value: True
//       Type: Int32
//       Value: 10
//
//       Has a value: False
//       Null: True
//       Default Value: 0
//
//       Has a value: False
//       Null: True
//       Default Value: 0

注釈

T の値がオブジェクトに Nullable<T> 割り当てられていない場合は、そのプロパティと比較 null して取得できますが、その HasValue プロパティにアクセス Value したり、その他のメンバーを呼び出したりすることはできません。

適用対象

製品 バージョン
.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
.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
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0