现string[] ArrayStrartIP=limitStrartIP.Split(';');得到ArrayStrartIP[0]=192.168.80.x;ArrayStrartIP[1]=192.168.100.x;现在想用for(int i=0;i<ArrayStrartIP.Length;i++){
                                    string[] ArrayIP=ArrayStrartIP[i].Split('.');
for(int j=0;j<ArrayIP.Length;j++)
{
string[,] num=new string[i,j];//实际上这里就是[2,4].但我想根据ArrayStrartIP.Length,ArrayIP.Length来获得,因为ArrayStrartIP获得的长度会变化
for (int row = 0; row < i; row++) 

for (int col = 0; col < j; col++) 

num[row,col]=ArrayIP[j].ToString();


}
}
二维数组应接收到的数据应是num[0][0]=192;num[0][1]=168;num[0][2]=80;num[0][3]=x;
  num[1][0]=192;num[1][1]=168;num[1][2]=100;num[1][3]=x;现在这个二维数组接收到的不是这些数据,啥原因??请指教??

解决方案 »

  1.   

    既然数组只是一维变
    int[,] ip = new int[ArrayStrartIP.length,4]
    ip[0,1] =这样赋值
      

  2.   

    int arrayLength = ArrayStrartIP.length;
    //二維數組
    string [][]num = new string[arrayLength][];for(int i=0;i<ArrayStrartIP.Length;i++){
      string[] ArrayIP=ArrayStrartIP[i].Split('.');
      for(int j=0;j<ArrayIP.Length;j++)
      {
         num[i] = new string[ArrayIP.Length];
         num[i][j] = ArrayIP[j];
      }
    }
       
      

  3.   

    就在你原来的基础上改一下即可,string[,] num=new string[i,j]改成string[][] num=new string[i][j],前者的length是指所有元素个数,后者的length才是你要的效果,i行数,某行上的列数
      

  4.   

    更正:后者的length才是你要的效果,i行数,j某行上的列数
      

  5.   

    int arrayLength = ArrayStrartIP.length;
    //二維數組
    更正一下
    string [][]num = new string[arrayLength][];for(int i=0;i<ArrayStrartIP.Length;i++){
      string[] ArrayIP=ArrayStrartIP[i].Split('.');
      for(int j=0;j<ArrayIP.Length;j++)
      {
      num[i] = new string[ArrayIP.Length];
      num[i][j] = ArrayIP[j];
      }
    }