如果我这样做
DataTable dt = new DataTable();
var v = dt.Compute("3 * (2+4)", "");
它工作正常。
但如果我这样做
var v1 = dt.Compute("true && true && false || false || false || true", "");
在运行时收到错误
语法错误:'&'之前缺少操作数操作
我错过了什么?
答案 0 :(得分:4)
您必须使用AND
和OR
:
bool b = (bool)dt.Compute("true AND true AND false OR false OR false OR true", "");
允许使用布尔
AND
,OR
和NOT
运算符进行连接。您 可以使用括号分组子句和强制优先级。AND
运算符优先于其他运算符。
您将找到支持的运营商列表here。
答案 1 :(得分:1)
你不能像在C#中那样在DataTable中使用bool逻辑。试试这种方式:
72a37ba7-2033-47f4-8e7e-69a207406dfb