byte [,] wordsSent = new byte[10,10];
     for (int i = 0; i < users; i++)
     {
          string t = this.listBox1.Items[i].ToString();
          wordsSent[i] = System.Text.Encoding.Default.GetBytes(t);
     }
这个它说我二维数组使用错误,我想完成的任务就是一个二维字符数组当成一个一维字符串数组使用,为什么会错呢?

解决方案 »

  1.   

    byte [][] wordsSent = new byte[10][0]; 
      

  2.   

    这个应该使用交错数组。byte[][] wordsSent = new byte[10][];wordsSent[0] = System.Text.Encoding.Default.GetBytes(t);
      

  3.   

    byte[][] wordsSent = new byte[10][]; 
    这句话在C#里面编译通不过啊!!!
      

  4.   


    你肯定不能用定长的数组,因为你不知道求出来的数组长度是多少,所以这样,肯定是有问题的byte [,] wordsSent = new byte[10,10]; 
    这样定义出来的数组是不能直接使用,第二维的首地址的,也就是这样的引用是不行的 wordsSent[i]除非你把数组定义改成这样的
    byte [][] wordsSent = new byte[10][]; 定义一个数组的数组
      

  5.   

    原来如此...真是奇怪...有时说二维数组的定义应该是byte[,] t = new byte [10,10],但是我用
    byte[][] t = new byte[10][]时又确实成功了...C#真是奇怪啊 。
      

  6.   

    如果你知道每一行和每一列的长度,可以定义规则数组,否则只能定义不规则数组!
    BYTE[0]=NEW BYTE[5];
    BYTE[1]=NEW BYTE[10];
      

  7.   

    如果是byte[16,16]
    怎么得到里面的值呢