我在类库中有一个对象列表,我想访问包含定价的列表的单个部分并将其保存为十进制属性。
以下是为上下文创建的列表。
OrderItem ord = new OrderItem();
if (Quantity <= 0){ Quantity = 1; }
ord.ProductName = Product;
ord.Quantity = Quantity;
ord.LatestPrice = Price;
ord.TotalOrder = AddItems(Price, Quantity);
shopping.Add(ord);
列表也会显示在列表框中,但我会获取所有最终小数并创建总费用。
ShoppingListBox.Items.Clear();
foreach (OrderItem Product in shopping)
{
ShoppingListBox.Items.Add(string.Format("{0,-30}", Product.ProductName) + string.Format("{0,2}",Product.Quantity.ToString()) + string.Format("{0,15:C2}",Product.LatestPrice) + string.Format("{0,18:C2}",Product.TotalOrder) + Environment.NewLine);
}
我已经看了一会儿,并试图尽可能多地避免它。我认为这篇文章可能有我的答案,但只包含对象数组。 Previous Thread
答案 0 :(得分:1)
您可以使用LINQ方法轻松计算总成本:
decimal totalCost = shopping.Sum(orderItem => orderItem.TotalOrder);
它基本上会遍历购物集合并汇总TotalOrder
属性。
使用该信息,您可以使用它并在任何地方显示