将具有属性的多个对象添加到列表中

时间:2014-01-09 11:47:55

标签: c# list

我的任务是用C#制作购物篮程序 我有一个数量属性,但我似乎无法在我的列表中添加一个数量。

public void AddProduct(string productName, decimal latestPrice, int quantity)
    {
        foreach (OrderItem product in basket)
        {
            if (product.ProductName == productName)
            {
                product.AddItems(latestPrice, quantity);
                return;
            }
        }
        OrderItem nProduct = new OrderItem(productName, latestPrice, quantity);
        nProduct.AddItems(latestPrice, quantity);
        basket.Add(nProduct);
    }

    public void AddProduct(string productName, decimal latestPrice)
    {
        AddProduct(productName, latestPrice, 1);
    }

2 个答案:

答案 0 :(得分:0)

尝试类似:

List<Product> basket = new List<Product>();

public void AddOrUpdateProducts(Product p, int quantity)
{
    // Update
    foreach (Product product in basket)
    {
        if (product.Id == p.Id)
        {
            product.Quantity += quantity;
            return;
        }
    }

    // Add
    basket.AddRange(Enumerable.Repeat(p, quantity));
}

答案 1 :(得分:0)

我建议你根本没有数量。如果您需要添加5个面包,则添加5次面包。

显示购物篮内容时,请合并类似产品,以便客户看到

bread    x5
butter   x1