为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 TextBox 对 Listbox 中的所有数字求和?

如何使用 TextBox 对 Listbox 中的所有数字求和?

C#
莫回无 2022-10-23 15:59:49
我想对 a 中的所有值进行计数和求和ListBox。例如,我的ListBox: 4, 6, 1,中有以下值7。我当前的值是18. 如果我添加 a2和 a TextBox,我需要得到20,如果我添加5,我需要得到25总计。如果我用下面的代码尝试它,它会给我一个完整的数字。这是我的代码:private void AddButton_Click(object sender, EventArgs e){    decimal sum;    listBox2.Items.Add(TextBox1.Text);    TextBox1.Text = "";    for (int i = 0; i < listBox2.Items.Count; i++)    {        sum += Convert.ToDecimal(listBox2.Items[i].ToString());    }    Label1.Text = sum.ToString();}
查看完整描述

4 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

您错过了初始化 sum 的默认值。在向变量sum = 0添加值之前赋值sum


private void AddButton_Click(object sender, EventArgs e)

{

    decimal sum = 0;  //Set sum = 0  by default

    listBox2.Items.Add(TextBox1.Text);

    TextBox1.Text = "";


    for (int i = 0; i < listBox2.Items.Count; i++)

    {

        //To check value of sum after each iteration, you can print it on console

        Console.WriteLine("Sum =" +sum);

        sum += Convert.ToDecimal(listBox2.Items[i].ToString());

    }


    Label1.Text = sum.ToString();

}


查看完整回答
反对 回复 2022-10-23
?
Qyouu

TA贡献1786条经验 获得超11个赞

对不起,也许没有回答,但奇怪的是你的编译器没有告诉你初始化 sum。第二次我测试了您的代码,它按预期正常工作,这意味着如果问题不在 sum 变量中,那么您在其他地方对该字段进行了其他操作,因此您的代码无法正常工作。

考虑到您对前人的评论,我也会这么说。在某些情况下(我知道这很有趣,但是)您的计算机上可能有病毒。核实。有一次我的数学实验室工作失败了,因为病毒中断了我的程序,所以它画了错误的图表!我知道:D


查看完整回答
反对 回复 2022-10-23
?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

需要将 sum 设置为 0,而且最好使用 foreach 而不是 Dotloop。


private void AddButton_Click(object sender, EventArgs e) {

    decimal sum = 0;

    listBox2.Items.Add(TextBox1.Text);

    TextBox1.Text = ""; 

    foreach (string s in listBox2) { 

        sum += Convert.ToDecimal(s);

    } 

    Label1.Text = sum.ToString(); 

}


查看完整回答
反对 回复 2022-10-23
?
眼眸繁星

TA贡献1873条经验 获得超9个赞

   private void button1_Click(object sender, EventArgs e)

    {

        var sum = 0;

        var value = 0;


        listBox1.Items.Add(textBox1.Text);


        foreach (var item in listBox1.Items)

        {

            if (!int.TryParse(item.ToString(), out value))

                continue;


            sum = sum + value;

        }


        label1.Text = sum.ToString();

        textBox1.Text = string.Empty;

    }


查看完整回答
反对 回复 2022-10-23
  • 4 回答
  • 0 关注
  • 133 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信