2010-12-28 6 views

答えて

17

はい、正しいです。 documentation

電流Nullable<T>オブジェクトの値のテキスト表現からHasValueプロパティがfalseの場合HasValueプロパティが真、または空の文字列("")である場合。

ということにも注意してくださいNullable<T>.EqualsNullable<T>.GetHashCodeは、この場合にはスローされませんが、それNullable<T>.GetTypeスローを行います。これはObject.Equals,Object.GetHashCodeおよびObject.ToStringNullable<T>で上書きされますが、Object.GetTypeは(virtualとしてマークされていない可能性があるため)無効になっているためです。

+0

ok、お返事ありがとうございます。それは正しい方法だとどう思いますか? String tmp = nullを使用する場合は、 tmp.ToString()例外 –

+0

が発生します。 'HasValue'がfalseであるnull可能型は' null'参照ではないためです。概念的な観点からは、NULL可能型は値が「欠落」の可能性のある値型を表します。値が欠落しているときは 'null 'を使用しますが、これは' null'参照と同じではありません。 'tmp.Value'は' tmp'が 'HasValue'をfalseとしたヌル可能型のインスタンスである場合にスローされます。値が不足しているため、上記の値を取得しようとすると、それに応じてスローされます。 – jason

関連する問題