我有一个来自数据库的产品列表,格式与以下代码生成的格式相同:
public class Product
{
int Id { get; set; }
string Name { get; set; }
string Color { get; set; }
string Size { get; set; }
string Pattern { get; set; }
string Material { get; set; }
string Weight { get; set; }
string Resolution { get; set; }
float Price { get; set; }
}
List<Product> products = new List<Product>();
products.Add(new Product(1,"blouse","red","S","stripes","cotton",null,10));
products.Add(new Product(2,"dots",11));
products.Add(new Product(3,"M",10));
products.Add(new Product(4,11));
products.Add(new Product(5,"green",15));
products.Add(new Product(6,16));
products.Add(new Product(7,15));
products.Add(new Product(8,16));
在数据库表中,我存储了各种产品,但是需要一种方法,该方法可以根据某些参数动态地对产品列表进行分组。 例如,函数
Object productGroup = GroupProductsByParameters("Color","Size","Pattern");
应返回结构为:
的对象{
"Name": "blouse","Variations": [{
"Id": "1","Color": "red","Size": "S","Pattern": "stripes","Price": "10"
},{
"Id": "2","Pattern": "dots","Price": "11"
},.
.
.
],"Material": "cotton","Weight": "","Resolution": ""
}
请注意,我不一定需要将分组参数作为字符串传递给函数,根据我在产品列表中拥有的产品类型,它们很可能来自数据库。 (电视将按重量和分辨率分组)