小弟菜鸟 路过的大侠多帮忙啊 先谢了~~!!!!
定义byte[] pOutBuf = new byte[16]; 
调试程序时 该数组 接收到[0] 128
                        [1] 157  怎样就其转换成十进制 输出一个十进制的整数呢 输出的整数应该是40320~~!

解决方案 »

  1.   

    byte[] bb = new byte[] { 128, 157};
    int i = (int)((bb[1] << 8) + bb[0]);
    数组里面  低字节在前  高字节在后,因此要手动反过来
      

  2.   

    class Demo
    {
      static void Main()
      {
        byte[] pOutBuf = new byte[]{ 128, 157, 1, 2, 3, 4, 5, 6 };
        ushort[] array = new ushort[pOutBuf.Length / 2];  // ushort 是无符号16位整数
        System.Buffer.BlockCopy(pOutBuf, 0, array, 0, pOutBuf.Length);  // 转换
        foreach (ushort x in array)
        {
          System.Console.WriteLine(x);
        }
      }
    }