Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 取消引用日期时间?上课时间_C#_Linq - Fatal编程技术网

C# 取消引用日期时间?上课时间

C# 取消引用日期时间?上课时间,c#,linq,C#,Linq,我不知道为什么会在这个问题上出现空引用异常 if (units.Min(sd => sd.MONTH_UNIT_APPLIES_TO) != null) { DateTime? dt = (DateTime)units.Min(sd => sd.MONTH_UNIT_APPLIES_TO); // dt = {8/1/2012 12:00:00 AM} crctw.unitChecks.startDate = (DateTime)dt; // // Null

我不知道为什么会在这个问题上出现空引用异常

if (units.Min(sd => sd.MONTH_UNIT_APPLIES_TO) != null)
{
    DateTime? dt = (DateTime)units.Min(sd => sd.MONTH_UNIT_APPLIES_TO);
    // dt = {8/1/2012 12:00:00 AM}
    crctw.unitChecks.startDate = (DateTime)dt;  // // NullReferenceException here
}
开始日期字段在此包装类中:

public class checksWrapper
{
    public DateTime startDate { get; set; }
    ...
}
因为它是一个值类型,我认为我不应该使用新的运算符


如果调试器说它有一个日期{8/1/2012 12:00:00 AM},那么为什么我会得到一个空引用

crctw或
unitChecks
为空。变量
dt
正常。您只是看到了
=
..

的错误一面,
crctw
unitChecks
为空。变量
dt
正常。您只是看到了
=
..

错误的一面,请尝试
crctw.unitChecks.startDate=dt.Value要么
crctw
要么
crctw.unitChecks
计算为空。强制转换是冗余的(DateTime?->DateTime->DateTime?->DateTime)并且容易混淆。@pst OP正在调试,它不是空的,问题一定是从空到默认日期时间的强制转换。@pst确实,这是可能的too@AndreCalil我认为这是在转移注意力。dt必须是来自上述强制转换和空检查的
DateTime
(不
null
)。Try
crctw.unitChecks.startDate=dt.Value要么
crctw
要么
crctw.unitChecks
计算为空。强制转换是冗余的(DateTime?->DateTime->DateTime?->DateTime)并且容易混淆。@pst OP正在调试,它不是空的,问题一定是从空到默认日期时间的强制转换。@pst确实,这是可能的too@AndreCalil我认为这是在转移注意力。dt必须是来自上述强制转换和空检查的
日期时间
(不
可空
)。