簡體   English   中英

如何使用TextBox對Listbox中的所有數字求和?

[英]How to sum all numbers in a Listbox using TextBox?

我想對ListBox所有值進行計數和求和。 例如,我在我的下列值ListBox4617 我現在的價值是18 如果我用TextBox添加2 ,我需要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();
}

您錯過了初始化sum的默認值。 在將值添加到sum變量之前分配sum = 0

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();
}

很抱歉也許沒有回答,但奇怪的是你的編譯器沒有告訴你初始化總和。 第二個我測試了你的代碼,它按預期正常工作,這意味着如果問題不在sum變量中,那么你在其他地方為這個字段做了別的東西,所以你的代碼不能正常工作。

考慮到你對前一個人的評論,我會說同樣的。 在某些情況下(我知道這很有趣但是)你的計算機上可能有病毒。 核實。 一旦進入我的生活,我的數學實驗室工作失敗了,因為病毒中斷了我的程序所以它繪制了錯誤的圖表!生病我知道:D

    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;
    }

使用未分配的局部變量'sum',sum必須在使用前分配!

decimal sum = 0;

休息一切都好

需要將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(); 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM