C 语言中的 VBA 评估函数#

VBA Eval Function in C#

提问人:Nick 提问时间:7/27/2023 更新时间:7/27/2023 访问量:60

问:

我试图用 C# 重写一些 VBA 代码。
VBA 函数采用类似

“4 > 2 AND 10 <> 62”或“'False' = 'False' AND 6 <> 7”或

“'True' = 'False' AND (4 = 2 OR 4 = 4)”的字符串。
(不带“”标记)


VBA 有一个名为“Application.Eval()”的实现函数。
此函数可以计算这些字符串并返回 true 或 false。文本比较是没有的 问题。

DIM evalResult as Boolean
evalResult = Application.Eval("4 > 2 AND 10 <> 62") 'Would return true
evalResult = Application.Eval("'True' = 'False' AND (4 = 2 OR 4 = 4)") 'Would return false
evalResult = Application.Eval("'True' = 'True' AND (4 = 2 OR 4 = 4)") 'Would return True

现在我尝试在 c# 中执行相同的操作并使用 NCalc 评估这些字符串。
但是 NCalc 似乎只处理数值运算,我没有发现任何提到 c# 中的类似函数。

C# 中是否有内置函数或类似于 VBA 中的 Application.Eval() 函数?

C# VBA 评估

评论


答:

0赞 Nick 7/27/2023 #1

好的,nvm。 如果我将字符串中的“AND”替换为“&”,将“OR”替换为“|”,它将起作用并返回正确的布尔值。

评论

0赞 JohnM 7/28/2023
如果你的答案对你有用,接受它会有所帮助(点击复选标记),这样其他人就可以很容易地看到你的问题得到了令人满意的回答。此外,您可能希望查看此 C# 语言参考链接中的 和 C# 运算符&&||