移植,Python到C# - 如何在元组上迭代元组?

时间:2016-08-28 01:57:18

标签: c# python 3d port

我将Python项目移植到C#。

到目前为止,我遇到了这个问题,有什么办法可以将它移植到C#中吗?

verts = (-1,-1,-1),(1,-1,-1),(1,1,-1),(-1,1,-1),(-1,-1,1),(1,-1,1),(1,1,1),(-1,1,1)
edges = (0,1),(1,2),(2,3),(3,0),(4,5),(5,6),(6,7),(7,4),(0,4),(1,5),(2,6),(3,7)

for edge in edges:
    for x,y,z in (verts[edge[0]],verts[edge[1]]):
        [...]

我试过这个,

verts.Add(new List<string> { "-1,-1,-1" });
verts.Add(new List<string> { "1,-1,-1" });
verts.Add(new List<string> { "1,1,-1" });
verts.Add(new List<string> { "-1,1,-1" });
verts.Add(new List<string> { "-1,-1,1" });
verts.Add(new List<string> { "1,-1,1" });
verts.Add(new List<string> { "1,1,1" });
verts.Add(new List<string> { "-1,1,1" });

edges.Add(new List<string> { "0,1" });
edges.Add(new List<string> { "1,2" });
edges.Add(new List<string> { "2,3" });
edges.Add(new List<string> { "3,0" });
edges.Add(new List<string> { "4,5" });
edges.Add(new List<string> { "5,6" });
edges.Add(new List<string> { "6,7" });
edges.Add(new List<string> { "7,4" });
edges.Add(new List<string> { "0,4" });
edges.Add(new List<string> { "1,5" });
edges.Add(new List<string> { "2,6" });
edges.Add(new List<string> { "3,7" });

foreach (List<string> vert in verts)
        {

            [...]
        }

        List<string> lines1 = new List<string>();
        List<string> lines2 = new List<string>();

        foreach (List<string> edge in edges)
        {
            int edge1 = int.Parse(edge[0].Split(',')[0]);
            int edge2 = int.Parse(edge[0].Split(',')[1]);

            int x;
            int y;
            int z;

            foreach (int vert in verts[edge1])
            {
                [...]
            }
        }

所以现在我变得非常困惑,很多错误,这里有任何错误。 我似乎过于复杂和不切实际。

我希望有人可以帮助我:)。

如果您需要更多信息,请发表评论,如果难以阅读,请再次发表评论。

〜Coolq

1 个答案:

答案 0 :(得分:1)

这是你可以做的一种方式......

<svg width="500px" height="300px" viewbox="-8 -8 492 292">
    <rect width="352" height="128" stroke="#333" stroke-width="16" fill-opacity="0"/>
</svg>