C# 如何在字符串c中连接a-#

C# 如何在字符串c中连接a-#,c#,visual-studio,C#,Visual Studio,我正在尝试用c#制作一个计算器,我希望将a-连接成一个字符串或类似的东西。预期输出还应减去这两个变量。前, string ready; private void minus_Click(object sender, EventArgs e) { long minusnumber = 32; ready = minusnumber + "-"; } . . . private void equals_Click(objec

我正在尝试用c#制作一个计算器,我希望将a-连接成一个字符串或类似的东西。预期输出还应减去这两个变量。前,

string ready;

       private void minus_Click(object sender, EventArgs e)
    {

        long minusnumber = 32;

        ready = minusnumber +  "-";


    }
. 
.
.
private void equals_Click(object sender, EventArgs e)
    {
        long equalsNumber1 = 32;

        ready += equalsNumber1;
        MessageBox.Show(ready);
    }
和控制台输出将为0 但它是以“-”作为负数,而不是减去这两个数字。
我尝试过转义它(不确定是否转义正确),但没有任何帮助://

根据您所写的内容,
减单击中的变量
ready
是减单击的局部变量,而不是您可能想要的全局变量

而不是:

string ready = minusnumber +  "-"; 
也许你的意思是:

ready = minusnumber +  "-"; 
编辑

现在问题已经解决了,真正的问题似乎是“为什么
MessageBox.Show(ready);
Show“32-32”而不是0?”如果这是问题,原因是您正在显示变量
ready
的值。这是一根绳子。您从
“32-”
开始,然后添加了
“32”
。此字符串串联的结果是
“32-32”
。为了执行算术求值,您需要编写代码来解析字符串并进行求值。或者找到为包含算术表达式的字符串编写了
Eval()方法的人。

使用

string.concat(minusnumber , "-");

这可能对你有帮助。您可以在concat方法中使用n个对象。

我认为这可能是您希望实现的目标,但有点不清楚。这将取负数并将其取反。所以,当你们把前面的数字加在minusnumber上时,它实际上就是减法。唯一的问题是
ready
变量似乎是字符串

private void minus_Click(object sender, EventArgs e)
{

    long minusnumber = 32;

    ready = -minusnumber;
}
也许,
ready
应该是一段很长的时间。获取用户输入时,可以使用TryParse:

string userText = "54";
long userInput;
Int64.TryParse(userText, out userInput);
ready -= userInput;

对于make calculator,您必须使用波兰语符号或RPN

所以您尝试减去两个数字?你能修正你的例子吗。。让它成为你的问题的一个恰当的工作例子,“它是以“-”作为负数,而不是减去两个数字”不确定你的意思是什么。“预期产出也应该减去这两个变量”也相当模糊。尝试重新编写这些代码以使其更清晰。您希望结果是像“32-”这样的字符串还是希望它是整数?在我看来,您正在寻找一个。旁注:“控制台输出”通常意味着“打印到控制台窗口”(也称为命令行、shell、CMD等)。在您的情况下,您使用的是
MessageBox.Show
,它不会向控制台输出任何内容。我怀疑您只是误用了这个术语,因为您的应用程序可能是WinForms one(基于方法的名称)。oops在发布时忘了把它放在外面。在实际代码中,它是一个局部变量。