2011-12-05 13 views
1

私は2つのDateTime変数を最初の期間と2番目の期間に持ち、各期間には期間ごとに2つの日付間の日付範囲を持っています。私の問題は、通常私の日付をnullに設定することです。ページをロードしますが、これらの日付では、特定の日付を設定するのではなく、nullに設定することはできません。datetimeをヌルに設定する

DateTime firstPeriodBeginDate = DateTime.Today.AddMonths(-3); 
DateTime secondPeriodBeginDate = DateTime.Today.AddMonths(-2); 

Iは結果をレンダリングするために使用されるとき、それは、ユーザによって日付ピッカーから選択された値に等しくなるように、それがnullに設定たいです。

答えて

19

DateTimeはnull値ではない値型なので、nullにすることはできません。

あなたはそのようなことのためにNullable<DateTime>を使用することができます。

DateTime? firstPeriodBeginDate = DateTime.Today.AddMonths(-3); 
DateTime? secondPeriodBeginDate = null; 
+2

を助けC# Nullable DateTime

希望を〜 "DateTime"はnull値ではない値の型ですので、nullにすることはできません。結局、 "Nullable "も値タイプです... –

+0

@JonSkeet - フェアポイント...回答が修正されました。 – Oded

+0

私はこれを私のリポジトリとサービスで問題にしようとしました。私はdaterangeを使用していますが、それをnullに設定する方法がわかりません。私はnullに私の日付時間を設定しようとしましたが、私はnullに日付範囲を変換することができないと言うビルド時にエラーが発生します。 – Masriyah

2

DateTime構造はnullに傾けます。

しかし、あなたがNULL可能DateTime

DateTime? dateTime; 
dateTime = null; 

を使用し、nullを

if (dateTime.HasValue) 

詳しい情報確認することができます。これは、それはおそらく最初の部分を編集する価値がある

+0

DateTime.MinDateに設定すると、最小値にデフレートされ、結果としてレンダリングされる値として渡されますか?私の最小値が1/1/0001になると、その日付に基づいて結果がレンダリングされ、日付ピッカーから選択したものに変更されますか?ありがとう – Masriyah

+0

申し訳ありませんが、あなたが何を意味するかはっきりしません。説明してください。ありがとうございました – dknaack

関連する問題