[英]How to evaluate boolean expression at runtime using Compute method of Datatable?
如果我做
DataTable dt = new DataTable();
var v = dt.Compute("3 * (2+4)", "");
它工作正常。
但如果我這樣做
var v1 = dt.Compute("true && true && false || false || false || true", "");
運行時出錯
語法錯誤:“&”運算符之前缺少操作數。
我錯過了什么?
你必須使用AND
和OR
:
bool b = (bool)dt.Compute("true AND true AND false OR false OR false OR true", "");
允許使用布爾
AND
、OR
和NOT
運算符進行連接。 您可以使用括號對子句進行分組並強制優先。AND
運算符優先於其他運算符。
您可以在此處找到支持的運算符列表。
您不能像在 C# 中那樣在 DataTable 中使用 bool 邏輯。 試試這個方法:
DataTable dt = new DataTable();
var v = (bool)dt.Compute("true AND true AND false OR false OR false OR true", "");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.