C# 为什么我的列表没有返回正确的总数

C# 为什么我的列表没有返回正确的总数,c#,list,C#,List,所以我试图得到所选文章的总数。我列出了3个清单: -第一个是我存储物品价格的地方。 -第二个是我存储所选物品数量的地方。 -第三个列表是我存储文章最终价格的地方。 我想得到第三张清单的总和,作为所选物品的最终价格。 然而,无论我添加了多少其他文章,我得到的结果总是第一篇文章的价格 因此,这三个列表开始为空,每次单击一篇文章时,“List Objets_prix”添加文章价格,“List Counter”添加文章金额 公共列表计数器=新列表(); public List Objets_prix=新

所以我试图得到所选文章的总数。我列出了3个清单: -第一个是我存储物品价格的地方。 -第二个是我存储所选物品数量的地方。 -第三个列表是我存储文章最终价格的地方。 我想得到第三张清单的总和,作为所选物品的最终价格。 然而,无论我添加了多少其他文章,我得到的结果总是第一篇文章的价格

因此,这三个列表开始为空,每次单击一篇文章时,“List Objets_prix”添加文章价格,“List Counter”添加文章金额

公共列表计数器=新列表();
public List Objets_prix=新列表();
public List Objets_prixTotal=新列表();
公共无效计算外推()
{
int列表索引;
int PrixTotal;
foreach(对象中的浮动p)
{
ListIndex=Objets_prix.IndexOf(p);
Objets_prixTotal[ListIndex]=p*计数器[ListIndex];
}
PrixTotal=Objets_PrixTotal.Sum(x=>Convert.ToInt32(x));
LabelPrixTotal.Text=PrixTotal.ToString();
}

我确信价格已成功添加到列表对象中,第二个列表也是如此。

如果您有两个相同价格的项目,您的
列表索引是否只会找到第一个索引,并使用错误的计数?这里的错误似乎是有3个列表-为什么不使用
列表
,其中
SalesRow
具有
public int Count{get;set;}
、一个
public decimal ItemPrice{get;set;}
、一个
public decimal TotalPrice=>ItemPrice*Count
(注意:
float
不适用于货币;
int
可能适用于数量,也可能不适用于数量)如果您确实想使用三个列表,请在index@MarcGravell我想这就是问题所在@HansKesting这是怎么回事?@ShahidOd没有遍历所有的价格,得到一个希望没有重复的索引,只需为(int-listIndex=0;listIndex