如何计算列表框的总和

时间:2016-04-16 00:05:33

标签: c# listbox windows-phone-8.1 addition

我正在尝试计算列表框中列的总数。我的代码如下:

变量

double VanTot = Menu.VanillaQ * 1.00;
        double LCTot = Menu.LCQ * 1.50;
        double ChocTot = Menu.ChocQ * 1.50;

列表框

   if (Menu.VanillaQ > 0)
        {

            listBox2.Items.Add("£" + VanTot.ToString("N2")); 

        }

        if (Menu.LCQ > 0)
        {

            listBox2.Items.Add("£" + LCTot.ToString("N2"));

        }

        if (Menu.ChocQ > 0)
        {
            listBox2.Items.Add("£" + ChocTot.ToString("N2"));
        }

如何通过添加每个“Tot”计算总数并将其显示在此文本框中:

   private void Totaltxt_TextChanged(object sender, TextChangedEventArgs e)
    {


    }

2 个答案:

答案 0 :(得分:1)

如果您想获得ItemsListBox中的所有Sum,可以使用LINQ Sum来帮助您。但在到达目的地之前,您需要一些中间步骤:

  1. 将您的ListBox.Itemsobject的集合投射到string
  2. 将每个元素转换为数字数据类型,例如decimal
  3. 总结结果
  4. 您可以使用LINQ单行代码执行此操作:

    decimal sum = listBox1.Items
                   .Cast<string>() //read (1)
                   .Select(x => Convert.ToDecimal(x)) //read (2)
                   .Sum(); //read (3)
    

答案 1 :(得分:0)

当相应的文本框文本以任何方式更改时,将调用Totaltxt_TextChanged方法,因此我不确定如何将总计加起来。您可以在需要计算和显示总计时插入以下行。我假设&#34; Totaltxt&#34;是文本框的名称。

Totaltxt.Text = (VanTot + LCTot + ChocTot).ToString();