假设有以下数据结构:
public class Product
{
public string Name { get; set; }
public string Category { get; set; }
public decimal Price { get; set; }
public string Salesperson { get; set; }
}
List products = new List
{
new Product { Name = "Product 1", Category = "Category 1", Price = 10, Salesperson = "Salesperson 1" },
new Product { Name = "Product 2", Category = "Category 1", Price = 20, Salesperson = "Salesperson 2" },
new Product { Name = "Product 3", Category = "Category 2", Price = 30, Salesperson = "Salesperson 1" },
new Product { Name = "Product 4", Category = "Category 2", Price = 40, Salesperson = "Salesperson 2" }
};
使用LINQ查询,可以按照产品类别计算每个销售员的总销售额的代码示例如下:
var salesBySalesperson = products
.GroupBy(p => p.Salesperson) // 按销售员分组
.Select(g => new
{
Salesperson = g.Key,
TotalSales = g.Sum(p => p.Price)
}); // 计算每个销售员的总销售额
foreach (var sales in salesBySalesperson)
{
Console.WriteLine($"Salesperson: {sales.Salesperson}, Total Sales: {sales.TotalSales}");
}
这段代码首先使用GroupBy
方法按照销售员进行分组,然后使用Select
方法将每个分组转换为一个新的匿名类型,包含销售员和总销售额的信息。最后,使用foreach
循环遍历每个销售员的总销售额并打印出来。