値がある場合は、DateTime
の値をチェックする必要があります。デフォルトのDateTime値を確認するにはどうすればよいですか?
if (dateTime == default(DateTime))
または
if (dateTime == DateTime.MinValue)
または個人的に私はそのかなり良い読めることから、3番目のバージョンを好むだろう
if (nullableDateTime.HasValue)
NULL可能DateTime?
を使用して:
は、私はいくつかのオプションがあります。 しかし、私たちのデータベースには、nullでないと定義されているdatetime列があります。 場合によっては、最初の2つのオプションを使用する必要があります。
default
キーワードは、ジェネリックスで作業するときに使用する必要がありますが、この場合ははるかに読みやすくありません。 2番目のオプションを使用するときは、新しい空のDateTimeインスタンスのデフォルト値がDateTime.MinValueであることがわかります。このDateTime.MinValueは実装の詳細の匂いがしています。
"ベストプラクティス"の使用にはどのオプションを使用する必要がありますか?
// Or private, or maybe even public
internal static readonly DateTime MagicValueForNullDateTimeInNonNullableColumns
= DateTime.MinValue;
がわかりましたので、私は少しが少なく長ったらしい名前を作ると思いますが、あなたは私が何を意味するかを取得:
コードブロックの後の最初の文では、「第2のバージョン」を意味しますか、「第3のバージョン」を意味しましたか? –
更新されました;)変数が値を持っているかどうかをプロパティで明確に説明しているので、3番目のバージョンを意味しました。 – dasheddot
実際に何が起こっても何が起きますか? – Servy