我使用波纹管代码从ListviewDataItem控件获取日期值
object HyperWalletPayoutDate =
DataBinder.Eval(dataItem.DataItem, "HyperWalletPayoutDate");
有时HyperWalletPayoutDate值为null。我怎样才能检查这个空值?
我试过这种方式但没有工作
if (HyperWalletPayoutDate.Any() == null || HyperWalletPayoutDate == ""
|| HyperWalletPayoutDate ==null)
请给我建议解决这个问题。提前谢谢..
答案 0 :(得分:1)
您的代码存在的问题是第一个条件
if (HyperWalletPayoutDate.Any() == null || ...
已经需要一个实例。您必须首先对null
执行HyperWalletPayoutDate
检查:
if (HyperWalletPayoutDate == null || HyperWalletPayoutDate == "" || HyperWalletPayoutDate.Any() == null)
当HyperWalletPayoutDate
为null
时,其他条件不会被评估,因此不再抛出任何异常。
答案 1 :(得分:1)
您看到的行为(值为{}
而不是null
)是Boxing的结果。假设您期望string
值,则应使用对该特定类型的正确检查,即
if (String.IsNullOrEmpty((string)HyperWalletPayoutDate)) {
...
}
这将在内部取消装箱,并确定它是否有值。
答案 2 :(得分:0)
我认为它的工作原理如下:
if(HyperWallenteretPayoutDate.Any(d => d)){
//it does not equal null
}