1. ホーム
  2. c#

C#の「DateTime?」の意味とは?

2023-08-23 03:18:29

質問

.NETの本を読んでいるのですが、コード例の1つに、このフィールドを持つクラス定義があります。

private DateTime? startdate

は何をするのか DateTime? は何を意味するのでしょうか?

どのように解決するのですか?

では DateTimestruct ではなく class でなく DateTime オブジェクト ではなく 参照 でなく、で、その型のフィールドや変数を宣言するときに使用します。

と同じように int にはできません。 null であるため、この DateTime オブジェクトは決して null になることはありません。なぜなら、それは参照ではないからです。

クエスチョンマークを追加することで、これを nullable タイプになります。 という意味です。 のどちらかです。 であることを意味します。 DateTime オブジェクトになります。 または であり null .

DateTime? の構文解析です。 Nullable<DateTime> であり、ここで Nullable はそれ自体が struct .