我正在尝试计算列表框中列的总数。我的代码如下:
变量
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)
{
}
答案 0 :(得分:1)
如果您想获得Items
和ListBox
中的所有Sum
,可以使用LINQ
Sum
来帮助您。但在到达目的地之前,您需要一些中间步骤:
ListBox.Items
从object
的集合投射到string
decimal
您可以使用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();