注册 登录
编程论坛 C# 论坛

方法返回值out正确使用问题

honghonglu 发布于 2016-04-10 11:47, 2407 次点击
写了一个方法,该方法除了返回一个double类型的二维数组外,再返回两个double类型的二维数组,
public double[,] Decode(int[] population, out double[,] dwelltime, out double[,] dispatch)
        {
           ......
         }
下面调用该方法的时候:
 double[,] runtime = Decode(initialpopulation,out dwelltime,out dispatch );
出现了以下错误:
报错:错误    1    与“optimal_schedule.GA.Decode(int[], out double[*,*], out double[*,*])”最匹配的重载方法具有一些无效参数   

      错误    2       参数 1: 无法从“int[*,*]”转换为“int[]”   
其中initialpopulation是一个二维数组,已经声明并且定义过的。
求问:调用有out方法的正确形式
2 回复
#2
qq10235692232016-04-10 12:14
数组做参数根本不用out,方法里面对数组的改变会影响到本身,因为数组是按地址传递过去的。你先把要用的数组定义好就行,不必要进行初始化。
https://msdn.

[此贴子已经被作者于2016-4-10 12:25编辑过]

#3
honghonglu2016-04-10 16:59
明白了,谢谢!
1