2016-04-16 139 views
0

我想要计算列表框中列的总数。我的代码如下:如何计算列表框的总和

变量

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

我如何通过将每个 '托特' 计算总在这个文本框中显示出来:

private void Totaltxt_TextChanged(object sender, TextChangedEventArgs e) 
    { 


    } 

回答

0

当相应的文本框的文本以任何方式改变时,Totaltxt_TextChanged方法将被调用,所以我不知道如何适用于总和的加总。只要你想要计算和显示总数,你可以插入下面的行。我假设“Totaltxt”是您的文本框的名称。

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

1

如果你想获得的所有的ListBoxSum他们Items,你可以使用LINQSum来帮助你。但是,你需要一些中间步骤,你以前有:

  1. object收集投下你ListBox.Itemsstring
  2. 每个元素转换为数字数据类型一样,比方说,decimal
  3. 求和结果

你可以这样做LINQ这样的单线程:

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