求一個集合的集合下所有集合元素求值 -开发者知识库

求一個集合的集合下所有集合元素求值 -开发者知识库,第1张

 

場景是這樣的:Order下有一個Suppler的集合,即一個訂單下可能有多個供應商;Supplier下有一個Product的集合,即對一個供應商采購多個產品。

需求是這樣的:算出所有訂購產品的總價

模型這樣:

    public class Order
{
public int OrderId { get; set; }
public ICollection<Supplier> Suppliers { get; set; }

public Order()
{
Suppliers
= new List<Supplier>();
}
}

public class Supplier
{
public int SupplierId { get; set; }

public ICollection<Product> Products { get; set; }

public Supplier()
{
Products
= new List<Product>();
}
}

public class Product
{
public int ProductId { get; set; }
public decimal UnitPrice { get; set; }
public int Quantity { get; set; }
}

 

這樣算出總價:

        static void Main(string[] args)
{

var orders = new List<Order>
{
new Order
{
OrderId
= 1,
Suppliers
= new List<Supplier>
{
new Supplier {SupplierId=11, Products= new List<Product>
{
new Product {ProductId=111, Quantity=1, UnitPrice=10 },
new Product {ProductId = 112, Quantity =1, UnitPrice = 20 }
} },
new Supplier {SupplierId =12, Products = new List<Product>
{
new Product {ProductId =113, Quantity =2, UnitPrice=30 },
new Product {ProductId=114, Quantity=1, UnitPrice=50 }
} }
}
}
};

var suppliers = orders.Select(t => t.Suppliers);

var productTotalPrice = suppliers.Sum(t => t.Sum(p => p.Products.Sum(o => o.Quantity * o.UnitPrice)));

Console.WriteLine(productTotalPrice);
Console.ReadKey();
}

 

最佳答案:

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复