一个函数 private int[] f(int i)
{
   //......
}我的数组定义int[,] b;现在我让b实现类似下面的赋值p= ... ; //p在程序中会生成,每次不一样...
for(int i=0; i<p;i++)
{
  b[i,]=f(i); //这句话怎么写,让数组b的第一维是i,第二维是一个 int[] 型的返回
}即如果i=0; f(i)={1,3,5,7,9}
那么b[0,0]=1; b[0,1]=3 ... ...
谢谢!!!!

解决方案 »

  1.   


    for(int i=0;i<p;i++)
    {
        for(int j=0;j<f(i).Length;j++)
        {
            b[i,j]=f(i)[j];
        }
    }有个问题,你这个f(i)的维数是会根据i而改变的吗?
      

  2.   

    这还不简单。            int p = 10; //假设10个
                int[] f = new int[]{1,2,3,4,5,6,7,8,9,0};
                int[,] b = new int[2,100];
                for (int i = 0; i < p; i++)
                {
                    for(int j= 0;j<2;j++)
                    {
                        b[j,i] = f[i];
                    }
                }测试通过,呵呵。
      

  3.   

    二维数字只能是每个行的列数是相等的,建议使用锯齿行数组,int[][],这样每一行的列数可以是不相同的
      

  4.   

    我还是不太明白楼主的意思,请楼主写的详细一点,以免耽误解决问题。
    如果数组不固定,那建议你用ARRAYLIST,因为不初始化使用在c#里面是要出错的。