7
はそれがString.Empty
を返すコードNullable DateTimeの作業は正しいですか?
DateTime? tmp = new DateTime();
tmp = null;
return tmp.ToString();
以下をご確認ください。
正しいですか?
コードの2行目で例外が発生する可能性があります。
はそれがString.Empty
を返すコードNullable DateTimeの作業は正しいですか?
DateTime? tmp = new DateTime();
tmp = null;
return tmp.ToString();
以下をご確認ください。
正しいですか?
コードの2行目で例外が発生する可能性があります。
はい、正しいです。 documentation
電流
Nullable<T>
オブジェクトの値のテキスト表現からHasValue
プロパティがfalseの場合HasValue
プロパティが真、または空の文字列(""
)である場合。
ということにも注意してくださいNullable<T>.Equals
とNullable<T>.GetHashCode
は、この場合にはスローされませんが、それNullable<T>.GetType
はスローを行います。これはObject.Equals
,Object.GetHashCode
およびObject.ToString
はNullable<T>
で上書きされますが、Object.GetType
は(virtual
としてマークされていない可能性があるため)無効になっているためです。
ok、お返事ありがとうございます。それは正しい方法だとどう思いますか? String tmp = nullを使用する場合は、 tmp.ToString()例外 –
が発生します。 'HasValue'がfalseであるnull可能型は' null'参照ではないためです。概念的な観点からは、NULL可能型は値が「欠落」の可能性のある値型を表します。値が欠落しているときは 'null 'を使用しますが、これは' null'参照と同じではありません。 'tmp.Value'は' tmp'が 'HasValue'をfalseとしたヌル可能型のインスタンスである場合にスローされます。値が不足しているため、上記の値を取得しようとすると、それに応じてスローされます。 – jason