C#根据项目

时间:2015-06-05 15:18:35

标签: c# math textbox listbox

我现在有一个程序将项目添加到列表框中,这些项目由一个字符(+, - ,*,/)后跟数字组成。我一直试图让我的程序识别列表框中项目的第一个字符并整天进行适当的数学运算,但我似乎无法正确理解。我甚至不确定我应该使用什么代码。

只是为了让它更清晰

以这种格式" + 34233"将项目输入名为txtCalculation的文本框中,然后将该值添加到列表框lstDisplay中,以便在5个项目之后看起来像这样。

+2
+4
/2
-1
+5
*3
total = 21

我想找到一种方法让程序遍历列表并进行数学计算,然后将其作为最终项添加到列表中,如上所示。我已经有了将数字添加到列表中的代码,但我真的很感激,如果有人可以花些时间向我解释我将如何做这样的事情。

将项目添加到列表框的代码:

if (txtCalculation.Text.Length > 1)
        {
            string Number = txtCalculation.Text;
            if (e.KeyChar == (char)Keys.Enter)
            {
                try
                {
                    lstDisplay.Items.Add(Number);
                    txtCalculation.Text = "";
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Error");
                }
            }
        }

1 个答案:

答案 0 :(得分:1)

在try块中

switch (line[0])
{
    case '+':
        num += Convert.ToInt32(line.Substring(1));
        break;
    case '-':
        num -= Convert.ToInt32(line.Substring(1));
        break;
}

其中line是当前行,num是您的运行总计。子字符串将通过包含除第一个字符之外的所有内容来创建一个新字符串。 1表示从第二个字符开始,因为字符串被索引为0(与C#中的大部分内容一样)。