gpt4 book ai didi

c# - 如何将空值初始化为日期时间变量?

转载 作者:太空狗 更新时间:2023-10-29 21:37:51 24 4
gpt4 key购买 nike

我正在尝试检查 DateTime 变量 "starttime""endtime" 是否具有 null 值然后尝试初始化为 empty 值,如下所示,但我遇到了以下编译错误。实现这一目标的最佳方法是什么?

string htmllink = "";
DateTime? starttime = null;
DateTime? endtime = null;
htmllink = (dbNullCheck.isColumnNull(rdr, "html_link")) ? "" : rdr.GetString(3);
starttime = (dbNullCheck.isColumnNull(rdr, "start_time")) ? "" : rdr.GetString(4);
endtime = (dbNullCheck.isColumnNull(rdr, "end_time")) ? "" : rdr.GetString(5);

results.htmllist.Add(new gethtmllist() { resulthtmllink = htmllink,
duration = (starttime - endtime).ToString() });

错误:

Error 2 Cannot implicitly convert type 'string' to 'System.DateTime?'

更新:-

                string htmllink = "";
htmllink = (dbNullCheck.isColumnNull(rdr, "html_link")) ? "" : rdr.GetString(3);
DateTime? starttime = (dbNullCheck.isColumnNull(rdr, "start_time")) ? new DateTime() : rdr.GetDateTime(4);
DateTime? endtime = (dbNullCheck.isColumnNull(rdr, "end_time")) ? new DateTime() : rdr.GetDateTime(5);

results.htmllist.Add(new gethtmllist()
{
resulthtmllink = htmllink,
duration = starttime.HasValue && endtime.HasValue ? (endtime.Value - starttime.Value).ToString() : ""
});

最佳答案

我尝试使用 string.Empty 来测试:starttime = string.IsNullOrEmpty(str) ? (DateTime?)null : DateTime.Now;

成功了。所以你的代码可能是:

starttime = (dbNullCheck.isColumnNull(rdr, "start_time")) ? (DateTime?)null : rdr.GetDateTime(4);
endtime = (dbNullCheck.isColumnNull(rdr, "end_time")) ? (DateTime?)null: rdr.GetDateTime(5);

更新 1:string.Empty 的 .Net Fiddle 示例:Link

关于c# - 如何将空值初始化为日期时间变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43690508/

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