在LinQ中检查两个null和eqauilty

时间:2016-02-29 13:56:02

标签: c# linq

我在LinQ不强 所以我尝试检查两个属性是否为空,其中一个属性是等于变量数

所以

public static string FilldrpRequestExecutionUnitsEmployee(int unitID)
{
    List<ApplicationStep> myAppList = 
        new ApplicationStepLogic(ApplicationType.Web)
        .GetAll()
        .Where(x => x.UnitId ==(int?) unitID && (x.UnitId && x.variable != null));
    return "";
}

请帮忙 我是linq初学者

1 个答案:

答案 0 :(得分:2)

这应该这样做:

....
.Where(x => x.UnitId == (int?)unitID && x.variable != null)
.ToList();

如果您已将UnitId - int与unitID - int进行比较,则不需要null可空的额外空值检查。 Nullable<T>.Equals被有意义地覆盖并且是安全的(如果它是{{1}}也不例外)。供参考:Why does the == operator work for Nullable when == is not defined?