我正在尝试将Listbox
中的所有值加起来,其中Listbox
由两个其他列表框的值相乘。它基本上是Listbox
的总和。
我一直收到错误,我查了一下,其他人也有类似问题的类似问题。它与ToInt32
或ToString
有关,我无法修复它。每当我单击我的按钮加载执行该循环的Listbox
时,它就会给我错误。
请帮忙,这就是我需要的全部。
int i = 0, result = 0;
while (i < lstTotalPrices.Items.Count)
{
result += Convert.ToInt32(lstTotalPrices.Items[i++]);
}
txtTotal.Text = Convert.ToString(result);
答案 0 :(得分:1)
基于评论和聊天,这应该有效:
int i = 0;
decimal result = 0;
while (i < lstTotalPrices.Items.Count)
{
result += ((frmInventory)lstTotalPrices.Items[i++]).TotalPrice;
}
虽然是一个更整洁的解决方案
int i = 0;
decimal result = 0;
foreach (var item in lstTotalPrices.Items)
{
result += item.TotalPrice;
}
答案 1 :(得分:0)
使用lstTotalPrices.Items[i++]
看起来Convert.ToInt32()
无法转换为整数所以最好将它们转换为字符串,然后将这些值传递给ToInt32()
,请尝试以下操作:
result += Convert.ToInt32(lstTotalPrices.Items[i++].ToString());
您可以使用int.TryParse()
进行此转化,而不是Convert.ToInt32()