不能隐式地将类型'Microsoft.SolverFoundation.Services.Term'转换为'bool'

wil*_*007 2 c# ms-solver-foundation

我在下面的代码中得到了一个异常"无法隐式转换类型'Microsoft.SolverFoundation.Services.Term'到'bool'",我该如何解决?

Term a=null;
            if(a==null)//<--this line exception
            {

            }
Run Code Online (Sandbox Code Playgroud)

以下是快照

在此输入图像描述

Dan*_*rth 5

问题是Term该类重写了相等运算符,它不会返回bool而是返回另一个Term:http://msdn.microsoft.com/en-us/library/ff525374%28v=vs.93%29. ASPX

我不确定为什么他们会做这样的事情,因为它反对任何关于覆盖运营商的建议......

要解决您的问题,请改用以下代码:

if(ReferenceEquals(a, null))
Run Code Online (Sandbox Code Playgroud)