gpt4 book ai didi

c# - 系统.日期时间?与 System.DateTime

转载 作者:IT王子 更新时间:2023-10-29 04:15:12 24 4
gpt4 key购买 nike

我正在编写一些代码,我需要从页面中的日历控件读取日期值(Ajax 工具包:日历扩展器)。

下面的代码:

DateTime newSelectedDate = myCalendarExtender.SelectedDate;

出现以下错误:

Cannot implicitly convert type 'System.DateTime?' to 'System.DateTime'. An explicit conversion exists (are you missing a cast?)

但是,通过插入强制转换,我可以使代码正常工作:

DateTime newSelectedDate = (DateTime)myCalendarExtender.SelectedDate; // works fine!

日历控件(Ajax 工具包)的“SelectedDate”属性将数据类型描述为“System.DateTime?” ...显然是“?”这一切都与此有关。

当数据类型包含此符号(?)时究竟发生了什么......我假设我可以将“SelectedDate”属性直接应用到“DateTime”类型的变量中而无需强制转换。

谢谢

最佳答案

?表示该类型可以为空。有关详细信息,请参见例如MSDN

Nullable 是一个编译器支持的值类型包装器,它允许值类型变为 null。

要访问 DateTime 值,您需要执行以下操作:

DateTime? dateOrNull = myCalendarExtender.SelectedDate;
if (dateOrNull != null)
{
DateTime newSelectedDate = dateOrNull.Value;
}

关于c# - 系统.日期时间?与 System.DateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1729553/

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