假设我有一个积分列表.
{(0,0), (0,0), (0,1), (0,0), (0,0), (0,0), (2,1), (4,1), (0,1), (0,1)}
Run Code Online (Sandbox Code Playgroud)
如何对此点进行分组,以便具有相同x值和y值的所有点都在一个组中,直到下一个元素具有其他值?
最终的序列应如下所示(一组点用括号括起来):
{(0,0), (0,0)},
{(0,1)},
{(0,0), (0,0), (0,0)},
{(2,1)},
{(4,1)},
{(0,1), (0,1)}
Run Code Online (Sandbox Code Playgroud)
请注意,订单必须完全相同.
我相信一个GroupAdjacent扩展,例如这里列出的扩展(来自 Eric White 的博客)正是您所寻找的。
// Create a no-argument-overload that does this if you prefer...
var groups = myPoints.GroupAdjacent(point => point);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
144 次 |
| 最近记录: |