0

を持つオブジェクト モデルがありますDateTime。null 可能なプロパティではないためif (SomeDate == null)、設定されているかどうかをテストするために書き込むことはできません。a が設定されているかどうかをテストするにはどうすればDateTimeよいですか?

ありがとう。

4

5 に答える 5

6

あなたが使用することができます

SomeDate == default(DateTime)

これは完全に安全ではないことに注意してください。値型を呼び出すdefaultと、アプリケーションで自然に発生する可能性のある値が返されます。たとえば、次のようにdefault(int)なります0default(bool)を与えfalseます。

の場合DateTime、デフォルトはMinValue0001 年 1 月 1 日 00:00:00.0000000 です。アプリケーションでこの日付が自然に発生する可能性は低いですが、フィールドを に変換してDateTime?確認することをお勧めします。 null の場合は、意図が読みやすくなるためです。

于 2013-07-06T16:07:20.067 に答える
2

SomeDate をnullableにすることができます:

  DateTime? SomeDate = null;
  ...
  if (SomeDate == null) {
    ...
  }
于 2013-07-06T16:16:44.457 に答える
2
if (datetime == DateTime.MinValue)
{
    //it was not set
}
于 2013-07-06T16:07:56.993 に答える