値の型の後の疑問符の目的は何ですか (例: int? myVariable)? 質問する

値の型の後の疑問符の目的は何ですか (例: int? myVariable)? 質問する

通常、疑問符は主に条件文に使用されますx ? "yes" : "no"

?しかし、私はその別の使用法を見たことがありますが、たとえば、この演算子の使用法の説明を見つけることができません。

public int? myProperty
{
   get;
   set;
}

ベストアンサー1

つまり、問題の値の型はnull 許容型

Null 許容型は、System.Nullable 構造体のインスタンスです。Null 許容型は、基になる値型の正しい値の範囲と、追加の null 値を表すことができます。たとえば、Nullable<Int32>"Nullable of Int32" と発音される には、-2147483648 から 2147483647 までの任意の値を割り当てることも、null 値を割り当てることもできます。 には、Nullable<bool>true、false、または null の値を割り当てることができます。数値型とブール型に null を割り当てる機能は、値を割り当てることができない要素を含むデータベースやその他のデータ型を扱う場合に特に便利です。たとえば、データベースのブール型フィールドには、true または false の値を格納したり、未定義にしたりできます。

class NullableExample
{
  static void Main()
  {
      int? num = null;

      // Is the HasValue property true?
      if (num.HasValue)
      {
          System.Console.WriteLine("num = " + num.Value);
      }
      else
      {
          System.Console.WriteLine("num = Null");
      }

      // y is set to zero
      int y = num.GetValueOrDefault();

      // num.Value throws an InvalidOperationException if num.HasValue is false
      try
      {
          y = num.Value;
      }
      catch (System.InvalidOperationException e)
      {
          System.Console.WriteLine(e.Message);
      }
  }
}

おすすめ記事