我在列表中有一些 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
循环是错误的,因为它只检查不同的 Zi
和i + 1
但不是同时检查所有 i。
有帮手吗?