将int []转换为byte:如何查看int [],因为它是byte []?

Pz.*_*Pz. 3 c# int byte types

解释一下:我有一些整数作为输入.我需要将其转换为字节数组,其中1 int = 4 bytes(big endian).在C++中,我可以轻松地将其转换为然后访问该字段,就好像它是字节数组一样,无需复制或计算数据 - 只需直接访问即可.这可能在C#中吗?在C#2.0中?

Mar*_*ell 5

是的,使用不安全的代码:

int[] arr =...
fixed(int* ptr = arr) {
    byte* ptr2 = (byte*)ptr;
    // now access ptr2[n]
}
Run Code Online (Sandbox Code Playgroud)

如果编译器抱怨,添加一个(void*):

    byte* ptr2 = (byte*)(void*)ptr;
Run Code Online (Sandbox Code Playgroud)