今天相对一个DateTime?的对象进行格式化,突然发现DateTime?对象里的toString方法是没有参数的,而且只有一个。看网上大家都说DateTime的toString方法有4个重载,我还以为是在3.5的时候把这个去掉了?又觉得太rediculous了。然后发现原来DateTime?对象里有一个value属性,value的类型才是DateTime。
声明了一个int?,发现和DateTime?是一样的,除了继承自object 的基本方法属性外,这种可空类有一个bool型的hasValue属性和value属性,hasValue会得知是否有值(为空),而有值则可以用value取得对应类型的数据。