protected void Page_Load(object sender, EventArgs e)
{    int[] jxshijian = new int[20],jxyongshi=new int[20],  jxziyuan = new int[20];
     int[,] Chrom=new int[40,20],Lose=new int[40,0];
 //调用子函数
       Lose =yuanshimubiaozhi(jxshijian, jxziyuan, jxyongshi, Chrom);
}
private int[,] yuanshimubiaozhi( int[] jxshijian,int[] jxziyuan,int[] jxyongshi,int[,] Chrom ) 
{
    int[,] lose=new int[40,0]; 
     //返回数组
        return lose; 
}
请高手指教!

解决方案 »

  1.   


    protected void Page_Load(object sender, EventArgs e)
    {
      int[] jxshijian = new int[20],jxyongshi=new int[20], jxziyuan = new int[20];
      int[,] Chrom=new int[40,20],Lose=new int[40,0];
     //调用子函数,就顶一个int二维数组接受就行了啊 就下面就行了
      Lose =yuanshimubiaozhi(jxshijian, jxziyuan, jxyongshi, Chrom);
    }
    private int[,] yuanshimubiaozhi( int[] jxshijian,int[] jxziyuan,int[] jxyongshi,int[,] Chrom )  
    {
      int[,] lose=new int[40,0];  
      //返回数组
      return lose;  
    }
      

  2.   

    var lose =yuanshimubiaozhi(jxshijian, jxziyuan, jxyongshi, Chrom);
      

  3.   

    private int[,] yuanshimubiaozhi( int[] jxshijian1,int[] jxziyuan1,int[] jxyongshi1,int[,] Chrom1 ) {
            int a = 1000, b = 1000, c = 1000, w = 24, px1 = 40, py1 = 20, DAYS = 30;
            int[,] f1=new int[40,0],fa=new int[40,0],fb=new int[40,0],fc=new int[40,0],fd=new     int[40,0],kc=new int[40,0],lose=new int[40,0];
           px1 = Chrom1.GetLength(0);//获取种群行数
            py1 = Chrom1.GetLength(1);//获取列数        //初始化各种约束条件下的负荷损失为零
            for (int i = 0; i < px1; i++)
            {
                f1[i, 0] = 0; fa[i, 0] = 0; fb[i, 0] = 0; fc[i, 0] = 0; fd[i, 0] = 0;
            }
    }那既然没错,为什么子函数中f1[i,0]在调试时老是提示:索引超出数组界限。我检查感觉没有超出啊,请帮忙看看,谢谢!