0

私のc#コードビハインドで
public DateTime custDOB { get; set; }

public DateTime? SubDOB { get; set; }

コード行の1つでエラーが発生します
tboxDateOfBirth.Text = oCust.custDOB.ToShortDateString();

「System.Nullable」というメッセージには「ToShortDateString」の定義が含まれておらず、「System.Nullable」タイプの最初の引数を受け入れる拡張メソッド「ToShortDateString」が見つかりませんでした。

この問題を解決するにはどうすればよいですか?

4

3 に答える 3

8

その行をに変更します

tboxDateOfBirth.Text = oCust.custDOB.HasValue? oCust.custDOB.Value.ToShortDateString() : string.Empty;
于 2012-08-14T13:48:14.443 に答える
1

常に値があり、nullにならないことを100%確信している場合は、これを実行してください

tboxDateOfBirth.Text = ((DateTime)(oCust.custDOB)).ToShortDateString();

または、それがnullになる可能性がある場合は、AndreCalilの回答を求めることができます。

また、 null合体演算子(??)についても読む必要があります。

于 2012-08-14T13:48:24.907 に答える
1

null許容型があります-intのように?または DateTime? 、.HasValue 実際の値にアクセスするには、使用する値があるかどうかを確認できます

oCust.custDOB.Value.ToShortDateString();
于 2012-08-14T13:49:32.507 に答える