计算ListBox中的整数和在Label中显示的整数

时间:2016-11-02 11:11:20

标签: c# .net wpf listbox sum

我是初学者,所以对于那些回答的人,请说明所有采取的步骤,以便我可以从中学习。 我有一个WPF应用程序,我在其中添加客户端和消耗。我需要计算所有输入消费的总和。我有以下代码:

private void btnKlantToevoegen_Click(object sender, RoutedEventArgs e)
    {
        string klant; int consumpties, maxklantconsumpties;

        klant = txtKlantNaam.Text;
        consumpties = int.Parse(txtKlantConsumpties.Text);
        maxklantconsumpties = int.Parse(txtMaxKlantConsumpties.Text);


        if (consumpties <= maxklantconsumpties && consumpties != 0)
        {
            lbOverzicht.Items.Add($"{klant} ({consumpties})");
        }

        lblTotaalConsumpties.Content = BerekenTotaalConsumpties(consumpties).ToString();
    }

    int BerekenTotaalConsumpties (int totaalconsumpties)
    {
        totaalconsumpties = 0;

        for (int i = 0; i <= lbOverzicht.Items.Count; i++ )
        {
            totaalconsumpties += int.Parse(lbOverzicht.Items[i].ToString());
        }

        return totaalconsumpties;
    }

我计算输入的消费总额&#39;在函数&#39; int BerekenTotaalConsumpties&#39;中,但是我得到了一个FormatException错误。

1 个答案:

答案 0 :(得分:1)

我完全无法理解你的代码的逻辑......但我正在分享我的答案,因为问题非常明显。

您正在将字符串值转换为无法转换为整数的整数。

我正在逐步解释它..

<强> 1。您正在将项目添加到列表中:

 if (consumpties <= maxklantconsumpties && consumpties != 0)
 {
     lbOverzicht.Items.Add($"{klant} ({consumpties})");
 }

这里..lets假设{klant}是'XYZ'而{consumpties}是10 ..那么将添加到列表中的项目将是..“XYZ(10)”

<强> 2。现在您要将列表项转换为整数以进行添加:

totaalconsumpties += int.Parse(lbOverzicht.Items[i].ToString());

字符串值“XYZ(10)”无法解析为整数..您必须单独跟踪10,然后对其执行求和操作。

如果你能解释一下这个逻辑......我希望我能和你分享一个解决方法并向你解释。