优化我的代码和由此引起的问题(C#)

时间:2014-07-17 08:16:47

标签: c# optimization

我正在努力优化我的代码并发现问题是我的变量。由于我喜欢有组织且可读的代码,不同的变量有不同的类,我只是将它们称为Main方法,并在那里进行计算。

这样我的每个输出都需要12分钟。定义了局部变量,输出所需时间达到6分钟,这是一项非常成就。 我的问题是什么:

我不想更改所有代码,因此在计算之后,存储在局部变量中的结果被复制到原始变量中。这个过程(复制结果)需要20%的时间,我该如何改进呢?

Static void Main(String[] args)
{
    Vector3D temp=new Vector3D();
    double[,] Xvelocity= new double[nx,ny];
    double[,] Yvelocity= new double[nx,ny];
    //
    // some calculations on local variables
    //
    // saving results back in the original variables
    for (int i = 1; i <nx; i++)
    {
        for (int j = 1; j <ny; j++)
        {
            // Local variables: Xvelocity[i,j], Yvelocity[i,j], Temp[i,j]  
            temp.X=Xvelocity[i,j];
            temp.Y=Yvelocity[i,j];
            theSpace.TheCells[i, j, 0].Velocity=temp;
            theSpace.TheCells[i, j, 0].Tempreture=Temp[i,j];
        }
    }
}

如果我不想将结果复制到原始数组,我怎样才能访问其他类中Main方法中定义的局部变量?

1 个答案:

答案 0 :(得分:1)

多维数组在大多数编程语言中很少有效。尝试使用锯齿状数组(数组数组)而不是多维数组。

请参阅http://msdn.microsoft.com/en-us/library/2s05feca.aspx