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,但我认为我真正遇到的主要问题是理解如何使用它们。