byte[] buffer2;
IntPtr ptr;
byte num2;
(buffer2 = buffer)[(int) (ptr = (IntPtr) i)] = num2 = (byte) (buffer2[(int) ptr] % 0x3e);
尤其是
(buffer2 = buffer)[(int) (ptr = (IntPtr) i)] = num2 = (byte) (buffer2[(int) ptr] % 0x3e);怎么看?谢谢

解决方案 »

  1.   

    拆成这样就比较容易懂了
    num2 = (byte) (buffer2[(int) ptr] % 0x3e);
    //把buffer2的index为ptr的值除以0x3e(62)转成byte型赋给num2
    (buffer2 = buffer)[(int) (ptr = (IntPtr) i)] = num2;
    //把i赋给ptr然后再把ptr转成int型,得到了buffer2的index,当然这个时候buffer已经把值赋给了buffer2了
    //然后再把num2赋给buffer2[index],index就是(int)ptr 咯
    ps:写上面垃圾代码的人,存脆是没事找事。。
      

  2.   

    (buffer2 = buffer)[(int) (ptr = (IntPtr) i)] = num2;
    这个看不懂啊
      

  3.   

    buffer2 = buffer)[(int) (ptr = (IntPtr) i)] = num2;
    和下面的代码同意.buffer2 = buffer;
    ptr = (IntPtr) i;
    buffer2[(int)ptr] = num2;