特定の場所とその製品の許容される配送方法を持つ製品オブジェクトがあります。私がやろうとしているのは、製品を場所別および許容される発送方法別にグループ化することです。
たとえば、次の例のデータは、1 つは IDLocation = 1、ShipMethods は 1、2、カウントは 2 で、もう 1 つは IDLocation = 1、ShipMethods が 1、2、カウントが 3 の 2 つのグループを生成します。
public class CartProduct
{
public int IDLocation { get; set; }
public List<int> ShipMethods { get; set; }
public List<CartProduct> GetExampleData()
{
return new List<CartProduct>() { new CartProduct() { IDLocation = 1, ShipMethods = new List<int>(){ 1, 2 } },
new CartProduct() { IDLocation = 1, ShipMethods = new List<int>(){ 1, 2 } },
new CartProduct() { IDLocation = 1, ShipMethods = new List<int>(){ 3, 4 } },
new CartProduct() { IDLocation = 1, ShipMethods = new List<int>(){ 3, 4 } },
new CartProduct() { IDLocation = 1, ShipMethods = new List<int>(){ 3, 4 } }
};
}
}
最初に IDLocation のグループ化を確認したいと思います。次に、発送方法が同じ場合は、それらも一緒にグループ化します。
group by のいくつかのバージョンを試してみましたが、運が悪いものを多く選択しました。
List<CartProduct> CPList = new CartProduct().GetExampleData();
var GroupItems = CPList.GroupBy(x => x.IDLocation) // then by ShipMethods??