C# LINQ案例逻辑总是返回true,但它不应该返回true

C# LINQ案例逻辑总是返回true,但它不应该返回true,c#,linq,C#,Linq,我有下面的LINQ查询(为了简洁而编辑)当终止原因既不是Any也不是NotTerminated时,应该计算终止日期范围,但它总是返回true 长时间盯着这个,会欣赏另一双眼睛。已确认数据返回预期值 var contracts = from x in yyy where aaa == bbb && …other logic… ) && (

我有下面的LINQ查询(为了简洁而编辑)当
终止原因
既不是
Any
也不是
NotTerminated
时,应该计算
终止日期范围
,但它总是返回true

长时间盯着这个,会欣赏另一双眼睛。已确认数据返回预期值

var contracts = from x in yyy
                where aaa == bbb
                && …other logic…
                ) && (
                     TerminationReason.Any == _TerminationReason ? true
                   : TerminationReason.NotTerminated == _TerminationReason ? t.TerminationID == null
                   : (
                        TerminationDateRange.Any == _TerminationDateRange ? true
                      : TerminationDateRange.PriorDayToPED == _TerminationDateRange ? t.TerminationDate.Day  < PeriodEndDate.Day
                      : TerminationDateRange.SameDayAsPED  == _TerminationDateRange ? t.TerminationDate.Day == PeriodEndDate.Day
                      : true
                      &&
                        TerminationReason.ForCause == _TerminationReason ? t.Reason == FOR_CAUSE
                      : TerminationReason.WithoutCause == _TerminationReason ? t.Reason == WITHOUT_CAUSE
                      : TerminationReason.Voluntary == _TerminationReason ? t.Reason == VOLUNTARY
                      : true
                    )
                )
                select new ContractInfo
                {
                    ...
                };
var合同=从yyy中的x开始
其中aaa==bbb
&&…其他逻辑…
) && (
TerminationReason.Any==\u TerminationReason?true
:TerminationReason.NotTerminated==\u TerminationReason?t.TerminationID==null
: (
TerminationDateRange.Any==\u TerminationDateRange?真
:TerminationDateRange.PriorDayToPED==\u TerminationDateRange?t.TerminationDate.Day
如果您能给我们提供一组示例值,您希望返回false,但实际上返回true,这将非常有帮助。什么是
终止原因
?它看起来同时是一个变量和一个类型。
TerminationReason
由什么组成?
TerminationReson。任何
都可以始终等于
TerminationReason
。也许您应该先删除所有条件运算符,简化逻辑语句。把这句话写在纸上,试着看看如何简化它。现在几乎不可能阅读@PanagiotisKanavos所说的内容,我可能会更进一步,并将这些嵌套的条件语句重构为方法。这样可能更容易调试/逐步完成