提问人:Nick 提问时间:7/27/2023 更新时间:7/27/2023 访问量:60
C 语言中的 VBA 评估函数#
VBA Eval Function in C#
问:
我试图用 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() 函数?
答:
0赞
Nick
7/27/2023
#1
好的,nvm。 如果我将字符串中的“AND”替换为“&”,将“OR”替换为“|”,它将起作用并返回正确的布尔值。
评论
0赞
JohnM
7/28/2023
如果你的答案对你有用,接受它会有所帮助(点击复选标记),这样其他人就可以很容易地看到你的问题得到了令人满意的回答。此外,您可能希望查看此 C# 语言参考链接中的 和 C# 运算符&&
||
评论