Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何重复一个动作_C# - Fatal编程技术网

C# 如何重复一个动作

C# 如何重复一个动作,c#,C#,基本上是想缩短这个时间: octree[nodeIndices[0]].nodes[nodeIndices[1]] .nodes[nodeIndices[2]].nodes[nodeIndices[3]].nodes[nodeIndices[4]] 我认为这样的方法可以奏效,但不确定具体如何: octree[nodeIndices[0]].(Enumerable.Repeat(node[nodeIndices[i]], 4) 编辑:这里有更多的代码 OctreeNode[] node

基本上是想缩短这个时间:

octree[nodeIndices[0]].nodes[nodeIndices[1]]
    .nodes[nodeIndices[2]].nodes[nodeIndices[3]].nodes[nodeIndices[4]]
我认为这样的方法可以奏效,但不确定具体如何:

octree[nodeIndices[0]].(Enumerable.Repeat(node[nodeIndices[i]], 4)
编辑:这里有更多的代码

OctreeNode[] nodes = octree;
ushort subdivisions = 1;

while (true)
{
    ushort nodeIndex = 0;
    OctreeNode node = nodes[nodeIndex];

    if (node == null)
    {
        node = new OctreeNode();
        node.nodes = new OctreeNode[8];
        nodes = node.nodes;
    }

    subdivisions++;

    if (subdivisions > 4)
        break;
}

// the actual octree variable is unchanged
var结果=八叉树[nodeIndices[0]];
对于(int i=1;i
var result=八叉树[nodeIndices[0]);

对于(int i=1;不幸的是,在C#中,没有像VB.Net中那样使用
。在不知道什么是
八叉树的情况下,我认为我们无法为您做任何事情。您可以为此编写循环或递归函数。我不太清楚实际的问题是什么。您的第一段代码看起来像一个
八叉树getNode(八叉树,int[]坐标)
函数对我来说,坐标在您的示例中:
[0,1,2,3,4]
。不幸的是,在C#中,没有像我们在VB.Net中那样使用
。在不知道什么是
八叉树的情况下,我认为我们无法为您做任何事情。您可以为此编写循环或递归函数。我不太清楚的是,实际问题是什么。您的第一段代码看起来像是
八叉树de(八叉树,int[]坐标)
函数对我来说,坐标在您的示例中:
[0,1,2,3,4]
。如果我这样做,那么我认为我无法设置结果,而且我听说指针在C#中不安全。@JimmyChristmas在这个答案中没有指针。如果我设置result,它只会设置它的实例,而不是八叉树中的实际成员。@JimmyChristmas
result.node[nodeIndices[1]
执行与
八叉树相同的操作[节点标识[0]]。节点[节点标识[1]]
出于某些原因,它不适合我。这里有更多我正在做的代码。每个
OctreeNode
类都有一个子节点数组。-将代码添加到主帖子中如果我这样做,那么我认为我无法设置结果,我听说指针在C#中不安全。@JimmyChristmas此答案中没有指针。如果我设置结果,它将我只是在设置它的实例,而不是八叉树中的实际成员。@JimmyChristmas
result.node[nodeIndices[1]
执行与八叉树[nodeIndices[0]]相同的操作。nodes[nodeIndices[1]]
出于某种原因,它不适合我。这里有更多关于我所做工作的代码。每个
OctreeNode
类都有一个子节点数组。-将代码添加到main post
var result = octree[nodeIndices[0]];

for (int i = 1; i <= 4; i++)
   result = result.node[nodeIndices[i]];

// do something with result;