gpt4 book ai didi

C# 并非所有代码路径都返回有效的 func 类型的 lambda 表达式

转载 作者:太空宇宙 更新时间:2023-11-03 21:18:37 25 4
gpt4 key购买 nike

首先我试过这个,我的代码:

timeReports = timeReports.OrderByDescending(x => x.Date)
.ThenByDescending(x => x.TimeReportDatas.First().StartHour)
.ToList();

但在我的项目中,我所有的项目都不会有 TimeReportDatas,所以它确实崩溃了,因为它不包含任何元素。

所以我把代码改成这样:

timeReports = timeReports.OrderByDescending(x => x.Date).ThenByDescending(x =>
{
TimeReportData firstOrDefault = x.TimeReportDatas.FirstOrDefault();
if (firstOrDefault != null)
return firstOrDefault.StartHour;
}).ToList();

但是我留下了以下错误:

Not all code paths return a value in lambda expression of type 'Func'

最佳答案

在这里你需要从你所有的路径中返回一些东西。

timeReports = timeReports.OrderByDescending(x => x.Date).ThenByDescending(x =>
{
var firstOrDefault = x.TimeReportDatas.FirstOrDefault();
if (firstOrDefault != null)
{
return firstOrDefault.StartHour;
}
else
{
return 0;
}
}).ToList();

或者更简单的方法:

timeReports = timeReports.OrderByDescending(x => x.Date)
.ThenByDescending(x => (x.TimeReportDatas.FirstOrDefault() != null) ? x.TimeReportDatas.First().StartHour : 0)
.ToList();

关于C# 并非所有代码路径都返回有效的 func 类型的 lambda 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32371714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com