You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

代码逻辑错误排查:LastUpdatedOn有值却始终使用CreatedOn

代码问题分析与修正

问题点:

  • 三元运算符逻辑完全写反:你的代码里,当discrepancy.LastUpdatedOn有值时,反而去取CreatedOn的值,这和需求完全相反——需求是有LastUpdatedOn就优先用它,你现在的逻辑搞反了分支结果。
  • 未处理CreatedOn为空的场景:代码直接调用discrepancy.CreatedOn.Value,如果CreatedOn也没有值,会直接抛出空引用异常,没法触发“两者均无值则用DateTime.MinValue”的逻辑。

修正后的代码

可以用嵌套三元运算符实现完整逻辑:

var LastUpdated = discrepancy.LastUpdatedOn.HasValue 
    ? discrepancy.LastUpdatedOn.Value.LocalDateTime 
    : discrepancy.CreatedOn.HasValue 
        ? discrepancy.CreatedOn.Value.LocalDateTime 
        : DateTime.MinValue;

或者用C#的空合并运算符简化写法,更简洁易读:

var LastUpdated = discrepancy.LastUpdatedOn?.LocalDateTime 
    ?? discrepancy.CreatedOn?.LocalDateTime 
    ?? DateTime.MinValue;

内容的提问来源于stack exchange,提问作者GoGetSOme

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 13:05:30