gpt4 book ai didi

c# - DateTime + long (hrs) 与 C#

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

我如何在 C# 中添加 (DateTime?) 和 (long?),其中 long 是 hrs。日期时间中的预期结果

最佳答案

        DateTime dt = DateTime.Now;
long hours = 44;
var dt2=dt.AddHours(hours); // uses an implicit cast from long to double
// use "(double)hours" for an explicit cast

** 可空版本 **

        DateTime? dt = DateTime.Now;
long? hours = 44;
if(hours==null) hours=0;
DateTime? dt2 = (dt == null) ? null : (DateTime?) ((DateTime) dt).AddHours(hours);

** 可空版本(紧凑)**

        DateTime? dt = DateTime.Now;
long? hours = 44;
DateTime? dt2 = (dt == null) ? null : (DateTime?) dt.Value.AddHours(hours??0);

** 可通过 if 语句为空 **

        DateTime? dt = DateTime.Now;
long? hours = 44;
if(hours==null) hours=0;
DateTime? dt2 = null;
if (dt == null)
dt2 = (DateTime?) ((DateTime) dt).AddHours(hours);
else
dt2 = null;

跟进:

在其他答案中,我喜欢使用 .Value(它看起来比强制转换更简洁),但这并没有消除在 hours 参数中检查 null 的需要。顺便说一句:我尝试了其他 .Value 答案之一并得到了 Argument 1: cannot convert from 'long?'到“加倍”——即你不能忘记空检查。

关于c# - DateTime + long (hrs) 与 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6813925/

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