gpt4 book ai didi

c# - 在传递 DateTime 时?方法的变量,编译器说它不能将空值转换为 DateTime

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

<分区>

我有一个 TextBox 控件,它应该存储一个日期。只要日期不是我页面中的必填字段(我使用的是 Web 窗体),我就会传递 DateTime? (可为空),而不是连接到数据库并插入适当值的方法的 DateTime 变量。它看起来像这样。

public void DatabaseMethod(DateTime? myDate)
{
// Insert the appropriate value into the database
}

// I'm calling the above method like this:
DatabaseMethod(String.IsNullOrWhiteSpace(txtContractMyDate.Text) ? null : Convert.ToDateTime(txtContractMyDate.Text));

我从编译器收到一条消息,内容类似“无法确定条件语句的类型,因为‘null’和‘System.DateTime’之间没有隐式转换”。

我可以做到以下几点:

DateTime? myDate = null;

if (!String.IsNullOrWhiteSpace(txtContractMyDate.Text))
{
myDate = Convert.ToDateTime(txtContractStornoDate.Text);
}

然后像这样调用方法:

DatabaseMethod(myDate);

当然,这没关系,但我只是想不通为什么我从编译器那里得到了规定的消息(“无法确定条件语句的类型,因为‘之间没有隐式转换’ null' 和 'System.DateTime'”)。

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