在 LinQ 中检查两个空值和等值

本文关键字:空值 两个 LinQ 检查 | 更新日期: 2023-09-27 18:36:47

我在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初学者

在 LinQ 中检查两个空值和等值

这应该可以做到:

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

如果您已经将其与强制转换的 unitID -int 进行比较,则不需要对 nullable UnitId进行额外的 null 检查。 Nullable<T>.Equals被有意义地覆盖并且是安全的(如果null,则不例外)。仅供参考:为什么 == 运算符在未定义 == 时适用于 Nullable?