【发布时间】:2013-08-09 09:28:02
【问题描述】:
我在一个列表中有一些 3D 数据:
myDataList[0] - { X: 164 , Y: 79 , Z: 120 }
myDataList[1] - { X: 146 , Y: 63 , Z: 120 }
myDataList[2] - { X: 192 , Y: 59 , Z: 120 }
myDataList[3] - { X: 196 , Y: 59 , Z: 120 }
myDataList[4] - { X: 110 , Y: 55 , Z: 120 }
myDataList[5] - { X: 148 , Y: 69 , Z: 122 }
myDataList[6] - { X: 194 , Y: 59 , Z: 122 }
myDataList[7] - { X: 18 , Y: 47 , Z: 122 }
我想根据同一个Z坐标得到X和Y坐标
我正在尝试通过循环以 LINQ 方式执行此操作。
for (int i = 0; i < myDataList.Count; i++)
{
myXList = myDataList.Where(x => myDataList[i].Z == myDataList[i + 1]).Select(x => x.X).ToList();
myYList = myDataList.Where(y => myDataList[i].Z == myDataList[i + 1]).Select(y => y.Y).ToList();
}
但是我现在的问题是如何从列表中区分相同的 Z 并选择 X 和 Y。上面的 for 循环是错误的,因为它只检查 i 和 i + 1 的不同 Z 但是不是所有的 i 一次。
有帮助吗?
【问题讨论】:
-
GroupByZ坐标...?