阅读量:0
在C#中,可以使用LINQ的GroupBy方法来对集合进行分组操作,然后可以结合Where方法对分组进行筛选。以下是一些常用的技巧:
- 根据条件对集合进行分组:
var groups = list.GroupBy(item => item.Category);
- 对分组进行条件筛选:
var groups = list.GroupBy(item => item.Category) .Where(group => group.Key == "Category1");
- 对分组后的结果进行进一步筛选:
var groups = list.GroupBy(item => item.Category) .Where(group => group.Key == "Category1") .SelectMany(group => group.Where(item => item.Price > 100));
- 对分组后的结果进行排序:
var groups = list.GroupBy(item => item.Category) .OrderBy(group => group.Key);
- 对分组后的结果进行聚合操作:
var groups = list.GroupBy(item => item.Category) .Select(group => new { Category = group.Key, TotalPrice = group.Sum(item => item.Price) });
通过结合GroupBy和Where等方法,可以实现灵活的分组筛选操作。需要根据具体的需求来选择合适的方法来进行操作。