【发布时间】:2021-10-26 01:43:35
【问题描述】:
在我的 Asp.net 核心项目中,我需要检查 null TimeSpan 属性。
这是我的方法:
return result.Include(e => e.Episodes).AsEnumerable().Select(c => new ShowListCoursesViewModel()
{
CourseId = c.CourseId,
CourseImageName = c.CourseImageName,
CoursePrice = Convert.ToDecimal(c.CoursePrice),
CourseTitle = c.CopurseTitle,
CourseTotalTime = new TimeSpan(c.Episodes.Sum(t => t.EpisodeTimeLength.Value.Ticks) )
}).Skip(skip).Take(take).OrderByDescending(d => d.CoursePrice).ToList();
它在t.EpisodeTimeLength 下方显示一个绿色波浪线,并表示:
可空值类型可能为空。
我的 CourseTotalTime 属性可以为空,EpisodeTimeLength 也可以为空。
如何在Sum 中将EpisodeTimeLength 的null 值解释为00:00:00?示例:[null, 01:00:00, 01:00:00] 应该在 CourseTotaltime 中产生 02:00:00。
【问题讨论】:
-
因此,如果 any
EpisodeTimeLength是null,即使EpisodeTimeLength的其他值属于同一课程,您也希望将null分配给CourseTotalTime有非空值?对吗? -
不,我只想得到我的
EpisodeTimeLength的总和,然后如果我的EpisodeTimeLengths 之一为空,则将其视为“00:00:00”。 -
所以如果
EpisodeTimeLength是null,你希望CourseTotalTime是00:00:00? -
那么您不想将 00:00:00 分配给
CourseTotalTime,正如您在问题中所述。我建议你编辑你的问题来解决这个问题。 -
我希望
Sum()将 null 视为00:00:00。就是这样
标签: c# asp.net-core-mvc nullable timespan nullable-reference-types