C# adding/subtracting/multiplying/dividing 列表框中的不同项目基于项目的第一个字符

C# adding/subtracting/multiplying/dividing different items in listbox based on first character of item

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

只是为了更清楚一点

项目以这种格式“+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");
                }
            }
        }

在 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# 中的大多数内容一样)。