簡體   English   中英

如何使用 Datatable 的 Compute 方法在運行時評估布爾表達式?

[英]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", "");

運行時出錯

語法錯誤:“&”運算符之前缺少操作數。

我錯過了什么?

你必須使用ANDOR

bool b = (bool)dt.Compute("true AND true AND false OR false OR false OR true", "");

允許使用布爾ANDORNOT運算符進行連接。 您可以使用括號對子句進行分組並強制優先。 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM