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

发布于 2024-10-06 13:23:42 字数 330 浏览 3 评论 0原文

好吧,我知道在 Python 中,假设你有一个名为

strExpression 的字符串,它的值是“1+2-(3*5)”,

有一个 python 方法(函数,抱歉我把术语搞混了)可以计算该字符串并返回一个整数值(在本例中,它应该返回-12。我不记得Python语法了,因为我不久前在课程中这样做过(然后我摔断了手臂,不得不退出,因为我无法做到) t 类型),但希望有人知道我的意思有

没有办法在 C# 中做到这一点

我只是在学习,并且正在创建一个简单的计算器程序,并且我已经制作了一个基本的计算器程序,允许您添加到前一个数字,但为了我自己的利益,我想稍微扩展一下,非常感谢您的帮助。

Okay, I know that in Python, say you had a string called

strExpression and it's value was "1+2-(3*5)"

There is a python method (function, sorry I get the terms confused) that will evaluate that string and return a numerical integer value (in this case, it should return -12. I don't recall the python syntax because I did it a while ago in a course (and then I broke my arm and had to quit because I couldn't type), but hopefully someone knows what I mean

Is there a way to do this in C#

I am only learning, and am creating a simple calculator program, and I have made a basic one that allows you to add to the previous number, but I would like to extend it a bit for my own benefit. Thank you very much for any help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

纸短情长 2024-10-13 13:23:42

C# 中并不存在这样的方法,但您可以在运行时使用编译器轻松编写一个方法来计算表达式。请查看 CSharpCodeProvider

There isn't exactly such a method in C#, but you can easily write one using the compiler at runtime to evaluate the expression. Check out CSharpCodeProvider.

梦初启 2024-10-13 13:23:42

您可以使用 Microsoft.JScript,它公开 C# 中的所有客户端 javascript 函数

using System;
using Microsoft.JScript;
using Microsoft.JScript.Vsa;

namespace JustTest
{
    class Program
    {
        static void Main(string[] args)
        {
            object value = Eval.JScriptEvaluate("1+2-(3*5)", VsaEngine.CreateEngine());
            Console.Write(value);
            Console.ReadLine();
        }
    }
}

You can use the Microsoft.JScript which exposes all client side javascript functions in C#

using System;
using Microsoft.JScript;
using Microsoft.JScript.Vsa;

namespace JustTest
{
    class Program
    {
        static void Main(string[] args)
        {
            object value = Eval.JScriptEvaluate("1+2-(3*5)", VsaEngine.CreateEngine());
            Console.Write(value);
            Console.ReadLine();
        }
    }
}
围归者 2024-10-13 13:23:42

尝试这个它使用CodeDOM创建一个计算器

Try this it uses CodeDOM to create a calculator

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文