如何将 array<unsigned char> 转换为 unsigned char[]?

How do I convert array<unsigned char> to an unsigned char[]?

在 CLR 项目中,我将 AesManaged class 的输出作为 16 字节数组

array<unsigned char>^ result = msEncrypt->ToArray();

但是我需要将其转换为这样定义的 unsigned char 类型的数组

unsigned char buff[16];

编辑:我确实试过了,但它给出了错误(没有带有这些参数的方法签名,尽管有一个)

System::Runtime::InteropServices::Marshal::Copy(result, 0, buff, 16);

还有这个

buff = reinterpret_cast<unsigned char>(&result);

但错误是表达式必须是可修改的左值

根据这个 MSDN documentation 我使用了这个并且它似乎有效

pin_ptr<unsigned char>buff = &result[0];