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

本文关键字:一个 结构 方法 返回 性能 | 更新日期: 2023-09-27 18:13:47

最近从python迁移到c#。开发数学应用程序。我看了很多关于类和结构的问题,所以我想从有经验的人那里得到关于性能的建议。

我有一个方法,在执行过程中计算了6个双变量和大约6个相同长度的双[]数组。我希望我的方法返回所有的"打包"到一个变量。不打算改变它们,我只需要一个存储和访问它们。在应用程序的执行过程中,方法将被多次调用,这样的存储也将被创建多次(最多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[] s的变量。我应该用什么来代替(???) ?关于性能,是类还是结构?

谢谢!

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

我是这样做的:

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;
    }
}