对象类型空值检查

本文关键字:检查 空值 类型 对象 | 更新日期: 2023-09-27 18:13:29

我使用下面的代码从ListviewDataItem控件获取日期值

object HyperWalletPayoutDate = 
    DataBinder.Eval(dataItem.DataItem, "HyperWalletPayoutDate"); 

some time HyperWalletPayoutDate值为空。我如何检查这个空值?

我试过这种方法,但不工作

if (HyperWalletPayoutDate.Any() == null || HyperWalletPayoutDate == "" 
    || HyperWalletPayoutDate ==null)
请给我一些建议来解决这个问题。提前感谢……

对象类型空值检查

您看到的行为(值是{}而不是null)是装箱的结果。假设您期望string值,您应该对特定类型使用正确的检查,即

if (String.IsNullOrEmpty((string)HyperWalletPayoutDate)) {
   ...
}

这将在内部打开值的框,并确定它是否有值。

你的代码的问题是第一个条件

if (HyperWalletPayoutDate.Any() == null || ...

已经需要一个实例。您必须先在HyperWalletPayoutDate上执行null检查:

if (HyperWalletPayoutDate == null || HyperWalletPayoutDate == "" || HyperWalletPayoutDate.Any() == null)

HyperWalletPayoutDatenull时,不计算其他条件,因此不再抛出异常。

我认为它是这样的:

    if(HyperWallenteretPayoutDate.Any(d => d)){ 
        //it does not equal null 
    }