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

时间:2013-10-28 04:59:39

标签: c# visual-studio

我正在尝试在c#中创建一个计算器,我希望将一个 - 连接成一个字符串或类似的东西。预期的输出也应减去两个变量。 EX,

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 但是它将“ - ”视为减去而不减去这两个数字。 香港专业教育学院尝试逃避它(不确定我是否确实逃脱了它)并且没有帮助:/

4 个答案:

答案 0 :(得分:3)

使用

string.concat(minusnumber , "-");

它可能对你有所帮助。你可以在concat方法上使用n个对象。

答案 1 :(得分:2)

根据您所写的内容,ready中的变量minus_Clickminus_Click的本地变量,而不是您可能想要的全局变量。

而不是:

string ready = minusnumber +  "-"; 

也许你的意思是:

ready = minusnumber +  "-"; 

修改

现在问题已修补,似乎真正的问题是“为什么MessageBox.Show(ready);显示”32-32“而不是0?”如果问题,原因是您显示变量ready的值。这是一个字符串。您是在"32-"启动的,然后添加了"32"。此字符串连接的结果为"32-32"。为了执行算术评估,您需要编写代码来解析字符串并进行评估。或者找一个为包含算术表达式的字符串编写Eval()方法的人。

答案 2 :(得分:2)

我认为这可能是你希望实现的目标,但有点不清楚。这将取负数并取消它。那么当你将前一个数字添加到减去数字时,它实际上会减去。唯一的问题是您的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;

答案 3 :(得分:0)

对于make计算器,您必须使用波兰表示法或RPN