0

オブジェクトのリストを持つクラスに問題があります。基本的には、アイテムを追加できるショッピング カートです。アイテムをアイテムIDでグループ化して、カートに何度も表示されないようにしたい.

したがって、アイテムを追加してから再度追加すると、2 行の数量 1 ではなく、1 行、数量 = 2 として表示されます。

まず、この方法でリストを自動的に整理する方法はありますか?

そうでない場合は、別の変数が必要です。

var l = from i in list.cartItems
group i by i.id into g
select g.ToList();

list.cartItems = l;

list はオブジェクト、cartItems はリスト、l は「更新」する新しいリストです。

ただし、これによりエラーが発生します。

タイプ 'System.Collections.Generic.IEnumerable>' を 'System.Collections.Generic.List' に暗黙的に変換することはできません。明示的な変換が存在します (キャストがありませんか?)

何か案は?

ありがとう

編集:エラーを編集しました

Cartims は次のとおりです。 public List cartItems;

CartItemList クラス内

4

2 に答える 2

1

次のように、必要なグループ化された要素を指定する必要があります。

list.cartItems = l.First();

あなたの cartItems は ' ListOfItems ' タイプであり、あなたの var l は ' int,ListOfItems ' タイプである新しいグループ化されたタイプです。したがって、「int,ListOfItems」を「ListOfItems」である cartItems にキャストするには、結果コレクションからいくつかの要素を選択する必要があります。

于 2013-11-14T07:08:10.460 に答える