性能:方法应该返回一个类或结构?

最近从Python跳转到C#。 开发数学应用程序。 在关于类和结构的SO上看过很多问题,所以我希望有经验的人提供关于性能的建议。

细节

我有一个方法,并在执行期间计算6个双变量和大约6个相同长度的double []数组。 我希望我的方法将所有“包装”成一个变量。 不打算改变它们,我只需要一个存储空间并访问它们。 在应用程序执行过程中,方法会被调用很多次,这样的存储也会被多次创建(最多40次)。

再生示例

public (???) Method (params)
{ 
 double return_value1 = actions_with_params1;
 double return_value2 = actions_with_params2;
 double[] return_array1 = actions_with_paramsin_a_loop1;
 double[] return_array2 = actions_with_paramsin_a_loop2;
}

... 等等。 我想返回一个既包含double s也包含double[]的变量。 我应该使用更好的(???) insetafd? 类或结构,关于性能?

谢谢!


以下是我如何做的一个示例:

class Program
{
    static void Main(string[] args)
    {
        List<Container> myValueStorage = new List<Container>();

        for (int i = 1; i < WhateverAmountOfOperations; i++)
        {
            myValueStorage.Add(YourMethod(yourParams));
        }
    }

    public static Container YourMethod(yourParams)
    {
        //Perform your calculations and store your results in the following variables
        double[] double_results; //An array of doubles
        double[][] double_array_results; //An array of double arrays

        //Create and return a class object containing the values
        return new Container(double_results, double_array_results);
    }


}
class Container
{
    double[] _doubles { get; }
    double[][] _double_arrays { get; }
    public Container (double[] doubles, double[][] double_arrays)
    {
        _doubles = doubles;
        _double_arrays = double_arrays;
    }
}
链接地址: http://www.djcxy.com/p/78901.html

上一篇: Performance: should method return a class or struct?

下一篇: Array memory Allocation clarification