【问题标题】:FirstOrDefault inline null checkingFirstOrDefault 内联空值检查
【发布时间】:2015-08-25 02:42:15
【问题描述】:

我有以下代码:

var result = new Collection<object>();

result.Add(
     list.Select(s => new
     {
          s.Name,
          Rating = s.Performance.OrderByDescending(o => o.Year).FirstOrDefault().Rating
     })
);

如果在Performance 中没有找到记录,它将给我NullException 这是预期的,因为我试图从null 值中获取Rating 属性所以我的问题是如何设置null 如果FirstOrDefault()null,如果不是,则获取 Rating 值。

谢谢

【问题讨论】:

    标签: c# linq entity-framework entity-framework-6


    【解决方案1】:

    这样做:

    Rating = s.Performance.OrderByDescending(o => o.Year)
                          .Select(o => o.Rating)
                          .FirstOrDefault()
    

    【讨论】:

      【解决方案2】:

      您可以使用Enumerable.DefaultIfEmpty Method

      Rating = s.Performance.OrderByDescending(o => o.Year)
                            .Select(o => o.Rating)
                            .DefaultIfEmpty(0)
                            .First()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-08
        • 2015-06-13
        • 2013-10-20
        • 1970-01-01
        相关资源
        最近更新 更多