Tag: 评估

在运行时评估表达式

我有一个C#控制台应用程序项目。 我有一个逻辑表达式作为nvarchar存储在数据库中。 例如,存储的表达式为:((34> 0)||(US == ES))&&(4312 = 5691) 在我的应用程序运行时,我想检索表达式并对其进行评估,以便结果为true或false。 我怎么能在运行时这样做?

空条件运算符和!=

通过在C#中引入Null-Conditional Operators ,进行以下评估, if (instance != null && instance.Val != 0) 如果我这样改写, if (instance?.Val != 0) 如果instance是null引用,它将被计算为true ; 它表现得像 if (instance == null || instance.Val != 0) 那么使用这种新语法重写评估的正确方法是什么? 编辑: instance是从JSON反序列化的大对象的字段。 有很多这样的代码,首先检查字段是否在JSON中,如果是,检查Val属性是否不等于常量,只有两个条件都为真,做一些操作。 代码本身可以被重构,以使逻辑流程更加“有意义”,正如彼得在他的评论中指出的那样,尽管在这个问题中我对如何使用带有null-conditional operators感兴趣!= 。

是否有一种方法可以在C#中计算字符串并生成一个整数(假设字符串是一个等式)

好的,我知道在Python中,你说有一个叫做的字符串 strExpression它的值是“1 + 2-(3 * 5)” 有一个python方法(函数,对不起,我得到了混淆的术语)将评估该字符串并返回一个数字整数值(在这种情况下,它应该返回-12。我不记得python语法,因为我做了一个前一段时间(然后我摔断了arm因为无法打字而不得不退出),但希望有人知道我的意思 有没有办法在C#中做到这一点 我只是在学习,并且正在创建一个简单的计算器程序,并且我已经创建了一个基本的计算器程序,允许您添加到以前的数字,但我想为了我自己的利益而扩展它。 非常感谢您的帮助。

使用XPath和WebBrowser Control选择多个节点

在C#WinForms示例应用程序中,我使用了WebBrowser控件和JavaScript-XPath来选择单个节点,并通过以下代码更改该节点.innerHtml: private void MainForm_Load(object sender, EventArgs e) { webBrowser1.DocumentText = @” Product Details Paperback: 648 pages Publisher: Wiley; Unlimited Edition edition (October 15, 2001) Language: English ISBN-10: 0764547763 “; } private void cmdTest_Click(object sender, EventArgs e) { string xPath = “//li”; string code = string.Format(“document.evaluate(‘{0}’, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;”, xPath); var li = webBrowser1.Document.InvokeScript(“eval”, new […]

使用数学运算符评估字符串

有没有一种简单的方法来评估像”(4+8)*2″这样的字符串,这样你就可以获得24的int值? 或者还有很多工作要做到这一点……?