linq partition by
来源:互联网 发布:爱的算法txt 下载 编辑:程序博客网 时间:2024/06/05 06:00
static void Main(string[] args) { var beatles = (new[] { new { id=1 , inst = "guitar" , name="john" },new { id=2 , inst = "guitar" , name="george" },new { id=3 , inst = "guitar" , name="paul" },new { id=4 , inst = "drums" , name="ringo" },new { id=5 , inst = "drums" , name="pete" }}); //方法1 //方法2 foreach (var i in o) { Console.WriteLine("{0} {1} {2}", i.inst, i.name, i.rn); } Console.ReadLine(); }
方法1:
var o = beatles.OrderBy(m => m.id).ToList().GroupBy(x => x.inst) .SelectMany(t => t.Select((b, i) => new { b, i })).Select(m => m.b);
方法2:
var o = beatles.OrderBy(x => x.id).GroupBy(x => x.inst) .Select(g => new { g, count = g.Count() }) .SelectMany(t => t.g.Select(b => b).Zip(Enumerable.Range(1, t.count), (j, i) => new { j.inst, j.name, rn = i }));
结果:
guitar john 1 guitar george 2 guitar paul 3 drums ringo 1 drums pete 2
0 0
- linq partition by
- partition by
- over partition by和over partition by
- partition by与group by
- group by 与 partition by
- over(partition by ...order by ...)
- 分析函数partition by
- partition by的用法
- partition by 用法
- Oracle 之 PARTITION BY
- partition by 的用法
- partition by的用法
- row_number() over(PARTITION BY
- Rank() OVER(PARTITION BY)
- oracle over partition by
- row_number() over(partition by ... )
- Oracle OVER(PARTITION BY ..)
- MySQL Partition By Rank
- Java 8的新特性
- Java中的private、protected、public和default的区别
- web.xml is missing and <failOnMissingWebXml> is set to true
- Android Dialog
- Java NIO
- linq partition by
- listview加背景
- log4j.properties 详解与配置步骤
- (求助)xx has privare access in 怎么解决
- react项目搭建
- java 调用存储过程返回多个结果集
- hdu 5721 空间点对距离,记录点
- javascript 闭包,this,作用域,综合应用面试题
- 排序算法以及其他算法