それぞれのカテゴリと価格に関連付けられたアイテムのリストがあります。私は最初に同じカテゴリのアイテムをチェックし、次にどちらが安価であるかチェックし、より高価なアイテムをリストから削除するlinqクエリを作成する方法を知りたがっています。リストから同じプロパティを持つアイテムを検索し、2つのアイテムの安価なものを選んでください
0
A
答えて
2
items = items.GroupBy(x => x.category)
.Select(x => new Item(x.Key, x.Select(y => y.price).Min()))
.ToList();
1
これは可能です。
foreach (var item in items.GroupBy(s => s.Category))
{
var cheaper = item.Min(x => x.Price);
//you can add it to a list of cheaper items
}
申し訳ありませんが削除するものはスキップしました。同じロジックに従うことで、maxを使用して、その後、その価格と一致しないものだけを取得して全体の結果を反復することができます。同じforeach文の中にすべてを入れることができます。教育目的のために、私はそれを別のforeachに入れているのです。
foreach (var item in items.GroupBy(s => s.Category))
{
var expensive = item.Max(x => x.Price);
var listWithoutMax = item.Select(x => x.Price != expensive.Price).ToList();
}
1
あなたはこれを試すことができます。
class Item
{
public string Category { get; set; }
public int Price { get; set; }
}
var prods = new List<Item>
{
new Item { Category = "A", Price = 100},
new Item { Category = "A", Price = 101},
new Item { Category = "B", Price = 200},
new Item { Category = "B", Price = 201},
};
var data = prods
.GroupBy(prod => prod.Category)
.Select(p => new Item { Category = p.Key, Price = p.Min(x => x.Price) })
.ToList();
関連する問題
- 1. コレクション内の同じプロパティを持つアイテムを検索する
- 2. C#Linq、2つのリストで同じアイテムを検索しています
- 3. 同じ列を持つ2つのテーブルから選択してください
- 4. 異なるタイプの2つのリスト内のアイテムの等価性の検索
- 5. 2つのコレクションからのアイテムのより速く、より安価な一致
- 6. プロパティでアイテムのリストを検索する
- 7. YAMLの同じ属性を持つ2つのアイテム
- 8. 大きなリストの同じプロパティを持つオブジェクトを検索 - パフォーマンスが遅い
- 9. 同じ値を持つ行を選択してください
- 10. postgresql、すべてのセットに2つの同じアイテムを持つ3つのアイテムのいくつかのセットを挿入します。
- 11. jQueryで同じidを持つ2つの異なるHTML要素タイプを選択してください
- 12. 特定のIDを持つアイテムを検索し、ドロップダウンで選択し
- 13. 2つの値を持つ同じ列を検索するMySQL
- 14. アイテムに基づいて2つのリストのインデックスを検索します。条件
- 15. 同じステートメントの2つのMySQLテーブルから選択してください
- 16. アプリ購入時:同じアカウントを持つ2台のデバイスで同じ購入アイテムが取得されない
- 17. 2つのリストを比較して共通のアイテムを検索する
- 18. 1つのクエリで同じテーブルから2つのタイプの情報を選択してくださいMYSQL
- 19. 同じ値を持つアイテムだけでgroupbyからリストを作成できますか?
- 20. 同じ行の反対側に2つのアイテムを持つ方法
- 21. C#2つのリストの間で最も安い価格を見つけよう
- 22. カスタムWebHttpBehaviorを追加できません:同じキーを持つ2つのアイテムを追加できません。
- 23. 同じdivクラスの同じアイテムの2つの定義
- 24. 同じアイテムのリストを持つ方法は同じですが、長さは等しくなければならない
- 25. UICollectionViewController内のアイテムを1つだけ選択してください
- 26. 2つの同期リストから同じ位置(インデックス)のアイテムを削除しますか?
- 27. python - 2つのファイルに同じものをねじってください。
- 28. いくつかの同じパラメータを持つ行を選択
- 29. PostgreSQL:同じ列を持つ行の中の最小の値を持つ行を選択してください。
- 30. セットから2つのランダムなアイテムを選ぶには?
質問は...? –