如何返回在方法内部已修改的对象?

时间:2018-07-26 10:50:30

标签: c# software-design

我正在使用C#,Visual Studio 2017和.NET Framework 4.7.1进行开发。

我的程序进行了大量计算,因此我不想创建新的Collection来存储它们。因此,我创建了一个集合以重用它(我唯一要做的就是更改集合的内容):

List<List<double>> offsprings;

在以下方法中,我将清除offsprings参数的内容,以不创建新的List<double>

public void GlobalRecombination(
    List<List<double>> population,
    List<List<double>> offsprings,
    int numOfObjectVariable,
    int numOfStrategyParameters,
    RecombinationType objVarRecomType,
    RecombinationType straParamRecomType)
{
    foreach (List<double> offspring in offsprings)
    {
        offspring.Clear();

        for (int i = 0; i < numOfObjectVariable; i++)
        {
            double newValue = 0.0;

            [ ... ]

            offspring[i] = newValue;
        }

        int total = numOfObjectVariable + numOfStrategyParameters;
        for (int i = numOfObjectVariable; i < total; i++)
        {
            double newValue = 0.0;

            [ ... ]

            offspring[i] = newValue;
        }
    }
}

我的问题是:返回offspring参数的最佳方法是什么?

现在,该方法有效,但是我不确定这是否是正确的方法。

0 个答案:

没有答案