c# - lambda WHERE 子句中的空值

标签 c# linq lambda null

我们如何在使用 Lambda 查询时避免空异常?在下面的代码中,当 InstallationDateType 为 null 时,我得到一个异常。我该如何解决这个问题?

foreach (AvailableDate availableDate in installationDatesResponseRootObject.Response
              .InstallationDatesResponse
              .AvailableDates
              .Where(a => 
                  a.InstallationDateType.ToString().ToUpper() == Constants.InstallationDateTypeDish))
{
    //Do Something
}

最佳答案

尝试使用 C# 6 中引入的 Null-Conditional Operator ?.

在你的例子中是

a.InstallationDateType?.ToString().ToUpper().Equals(Constants.InstallationDateTypeDish)

关于c# - lambda WHERE 子句中的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41038613/

相关文章:

c# - 使用 Linq 对 Gridview 进行分页

c# - 我(认为)我想使用 BItWise 运算符来检查 useraccountcontrol 属性!

c# - 呈现自定义控件时不会调用 OnApplyTemplate 方法

c# - 紧凑框架: Fill Rectangle with solidbrush problem

c# - LINQ - 使用 OrderBy 和 GroupBy 的子查询

c# - 在 IEnumerable<T> 中选择偶数/奇数元素?

c# - 创建将 T 约束为枚举的通用方法

c++ - std::transform 中的段错误

java - 我在哪里可以找到 Java EL 3.0 的实现

scala - 为什么 Java8 和 Scala2.12 lambda 缓存之间存在差异?