C#:Operator'> ='不能应用于'System.DateTime?'类型的操作数 和'int'

Pro*_*bie 0 c#

我正在尝试执行以下操作:

where wt.Rqstcmpldt_dttm >= dueDate.Year - 3 && wt.Rqstcmpldt_dttm >= 2006 
    && wt.Rqstcmpldt_dttm < timeframe
Run Code Online (Sandbox Code Playgroud)

并获取上述错误消息.然后我尝试了这个:

where (wt.Rqstcmpldt_dttm ?? new DateTime(3000,1,1).Year >= dueDate.Year - 3) 
    && (wt.Rqstcmpldt_dttm ??  new DateTime(3000,1,1).Year >= 2006) 
    && (wt.Rqstcmpldt_dttm ??  new DateTime(3000,1,1).Year < timeframe)
Run Code Online (Sandbox Code Playgroud)

但我得到一个"运营商'??' 不能应用于'System.DateTime?'类型的操作数 和'bool'"错误.

我该如何进行操作?

SLa*_*aks 7

&& wt.Rqstcmpldt_dttm >= 2006

正如消息明确指出的那样,您无法将日期与数字进行比较.

你可能想要.Year.