gpt4 book ai didi

c# - 简而言之,如果条件如何使用 null、dbnull 和 datetime

转载 作者:行者123 更新时间:2023-11-30 19:59:51 28 4
gpt4 key购买 nike

我从 SQL-Server 检索了一些日期时间数据。在我的 Web.Api Controller 中,我将数据库数据告知我的对象。

这个有效:

 if (reader["images_lastupload"] == DBNull.Value)
{
mydata.ImagesLastUpload = null;
}
else
{
mydata.ImagesLastUpload = Convert.ToDateTime(reader["images_lastupload"].ToString());
}

数据库字段“Images_lastupload”可以为 NULL。所以我想检查一下。

mydata.ImagesLastUpload 是一个可为 null 的日期时间。一切正常。

但是短版本不起作用:

 mydata.ImagesLastUpload = (reader["images_lastupload"] == DBNull.Value) ? null : Convert.ToDateTime(reader["images_lastupload"].ToString());

我怎样才能使短版本工作?我的德语错误是:

Der Typ des bedingten Ausdrucks kann nicht bestimmt werden, weil keine implizite Konvertierung zwischen '' und 'System.DateTime' erfolgt。

最佳答案

nullDateTime 之间没有隐式转换。您可以将 null 转换为可为空的 DateTime:

mydata.ImagesLastUpload = (reader["images_lastupload"] == DBNull.Value) ? 
(DateTime?)null : Convert.ToDateTime(reader["images_lastupload"].ToString());

或使用 Nullable types and the ternary operator 中建议的任何其他方法

关于c# - 简而言之,如果条件如何使用 null、dbnull 和 datetime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22663749/

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