相关疑难解决方法(0)

IEnumerable <T>/IQueryable <T>上的动态LINQ OrderBy

我在动态LINQ 的VS2008示例中找到了一个示例,它允许您使用类似sql的字符串(例如,OrderBy("Name, Age DESC"))用于排序.不幸的是,包含的方法仅适用于IQueryable<T>;.有没有办法获得此功能IEnumerable<T>

c# linq linq-to-objects

657
推荐指数
12
解决办法
26万
查看次数

按匿名类型的字段排序

我正在使用LINQ to Objects聚合:

  var summary = from esc in objs
                where esc.time.Month == month && esc.time.Year == year
                group esc by esc.rlf_id into g
                select new { 
                  ID = g.Key, 
                  Total = g.Count(), 
                  Preventable = g.Where(a => a.preventable).Count() 
                };
Run Code Online (Sandbox Code Playgroud)

我的查询按预期工作,但我也想按匿名类型中的任意字段对查询进行排序.我找到了LINQ:按匿名类型排序,但是它在VB.NET中并且需要强烈指定要排序的字段.我可以用这个伪代码概念化我想要的东西:

query = get all esc in obj
        aggregate into anonymous type with key ID
          ID = g.Key, Total = g.Count, Preventable = g.Count of preventable
        orderby inputField[0], (optional thenby inputField[1], ..., thenby inputField[n])
Run Code Online (Sandbox Code Playgroud)

我如何完成:

  • 按LINQ查询中的匿名类型字段排序 (完成 - 谢谢Marko!) …

c# linq linq-to-objects c#-3.0

1
推荐指数
1
解决办法
6150
查看次数

标签 统计

c# ×2

linq ×2

linq-to-objects ×2

c#-3.0 ×1