我有这段代码最终被序列化为 JSON,用于 Jquery FullCalender 插件。 ToUnixTimeSpan 方法在 DateTime 对象中执行任务并返回自 1970 年以来的秒数。
DateEnd 可以为空。在此代码块中,如果 DateEnd 为 null,我如何测试 null 并跳过 end = ToUnixTimespan(e.DateEnd)?是否有与常规安全运算符等效的 C#?
var listEvents = from e in eventRepository.GetAllEvents()
select new
{
id = e.EventID,
title = e.EventTitle,
start = ToUnixTimespan(e.DateStart),
end = ToUnixTimespan(e.DateEnd),
url = "/Events/Details/" + e.EventID
};
有关 ToUnixTimespanMethod 的更多信息:
private long ToUnixTimespan(DateTime date)
{
TimeSpan tspan = date.ToUniversalTime().Subtract(new DateTime(1970, 1, 1, 0, 0, 0));
return (long)Math.Truncate(tspan.TotalSeconds);
}
最佳答案
那么,怎么样:
end = e.DateEnd == null ? (long?) null : ToUnixTimespan(e.DateEnd)
很难确定,因为我们不知道 ToUnixTimespan
返回的类型。
关于c# - 跳过潜在的空值 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3344069/