当前位置:  开发笔记 > 编程语言 > 正文

为Nullabe of T检查.HasValue和.Value

如何解决《为NullabeofT检查.HasValue和.Value》经验,为你挑选了1个好方法。

我需要做一些重构,我遇到了这个:

if(LoanTerms.RateIncreasable.HasValue && LoanTerms.RateIncreasable.Value) { ... }

并且LoanTerms.RateIncreasable是类型System.Nullable

所以我想知道我需要.HasValue检查一下吗?null在if语句中会被视为false吗?



1> angry person..:

由于默认bool值为,false您可以使用此代码执行您需要的所有操作:

if(LoanTerms.RateIncreasable.GetValueOrDefault()) { ... }

有关更多信息,请查看MSDN上的文档:Nullable(T).GetValueOrDefault().

但要回答你的问题:如果值是(即),读取Value属性是不合法的,你会得到一个例外.因此,如果您绝对必须阅读,请确保它首先具有值.NullableNullablenullHasValue == falseValue

推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有