Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#根据项目的第一个字符对列表框中的不同项目进行加/减/乘/除_C#_Math_Textbox_Listbox - Fatal编程技术网

C#根据项目的第一个字符对列表框中的不同项目进行加/减/乘/除

C#根据项目的第一个字符对列表框中的不同项目进行加/减/乘/除,c#,math,textbox,listbox,C#,Math,Textbox,Listbox,我现在有一个程序,可以将项目添加到列表框中,项目由一个字符(+、-、*、/)和数字组成。我一整天都在试图让我的程序识别列表框中项目的第一个字符,并进行适当的计算,但我似乎无法正确地进行计算。我甚至不知道我应该用什么代码 只是想说清楚一点 项目被输入一个名为txtcompulation的文本框,格式为“+34233”,然后该值被添加到列表框lstDisplay,因此在5个项目之后,它应该是这样的 +2 +4 /2 -1 +5 *3 total = 21 我想找到一种方法使程序遍历列表并进行计算,

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

只是想说清楚一点

项目被输入一个名为
txtcompulation
的文本框,格式为“+34233”,然后该值被添加到列表框
lstDisplay
,因此在5个项目之后,它应该是这样的

+2
+4
/2
-1
+5
*3
total = 21
我想找到一种方法使程序遍历列表并进行计算,然后将其作为最后一项添加到列表中,如上图所示。我已经有了将数字添加到列表中的代码,但如果有人能抽出时间向我解释我将如何着手做这样的事情,我将不胜感激

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

这似乎很可能奏效,唯一的问题是我还是个新手,我不确定如何实际实现restOfLine。我想我应该使用Substring和convert.ToInt32,但我认为我真正遇到的主要问题是理解如何使用它们。