C# LINQ多重与或条件

C# LINQ多重与或条件,c#,linq,C#,Linq,我的多重和/或LINQ查询有问题 当前错误为“&&无法应用于bool和datetime” 有更好的方法吗? 我想我可能也需要检查其中一些的空值 谢谢 (d.Development != 1 && d.Deleted != 1 && d.Stock != 1) && (d.DecommissionDate = Convert.ToDateTime("1900-01-01")) 您输入了一个小错误:您使用了单等号(=,用于赋值)而不是双等号(=,等

我的多重和/或LINQ查询有问题

当前错误为
“&&无法应用于bool和datetime”

有更好的方法吗? 我想我可能也需要检查其中一些的空值

谢谢

(d.Development != 1 && d.Deleted != 1 && d.Stock != 1) && (d.DecommissionDate = Convert.ToDateTime("1900-01-01")) 

您输入了一个小错误:您使用了单等号(
=
,用于赋值)而不是双等号(
=
,等号)

以下是修复方法:

d.DecommissionDate == Convert.ToDateTime("1900-01-01") 

第二部分不会转换为布尔值:

(d.DecommissionDate = Convert.ToDateTime("1900-01-01"))

=
是赋值运算符。完成后,它将尝试将布尔值与日期时间进行比较。如果您的目的是比较
退役日期
,请改用
=
。如果你真的想分配它,你需要在一个单独的场合进行。

应该是
(d.DecommissionDate==Convert.ToDateTime(“1900-01-01”)
如果DecommissionDate为空,我也需要它在那里…谢谢