关于给一个对象进行递归赋值的问题
debug 的时候发现
如果将需要赋值的对象以参数的形式传入递归中, 方法执行会特别慢
如果将递归设置成有返回值的递归, 将需要赋值的对象直接 = 或者addRange 递归的返回值, 则会非常快
请问正常情况下会粗现这种case 吗?
如果有那原因又是什么呢?
伪代码:
List<string> result = new List<string>();
FillResultWithoutReturnValue(result);
void FillResultWithoutReturnValue(List<string> result )
{
取数据和部分处理逻辑
FillResultWithoutReturnValue(result);
}
List<string> result = new List<string>();
result.AddRange(FillResultWithReturnValue());
List<string> FillResultWithReturnValue( )
{
取数据和部分处理逻辑
List<string> temp = FillResultWithReturnValue();
return temp;
}