C# · 12月 30, 2021

c# – linq组由连续块组成

假设我有以下数据:

Time Status
10:00 On
11:00 Off
12:00 Off
13:00 Off
14:00 Off
15:00 On
16:00 On

我如何使用Linq进行分组

[On,[10:00]],[Off,[11:00,12:00,13:00,14:00]],[On,[15:00,16:00]]

解决方法 创建一个GroupAdjacent扩展,如 here所示.

然后就这么简单:

var groups = myData.GroupAdjacent(data => data.OnOffStatus);