Arrays 如何将无符号字符*转换为数组<;未签名字符>;^?

Arrays 如何将无符号字符*转换为数组<;未签名字符>;^?,arrays,visual-c++,c++-cli,Arrays,Visual C++,C++ Cli,如何将无符号字符数组转换为 array<unsigned char>^ ? array^? 提前谢谢 只需创建一个托管阵列,然后复制数据。简单 array<Byte>^ MakeManagedArray(unsigned char* input, int len) { array<Byte>^ result = gcnew array<Byte>(len); for(int i = 0; i < len; i++)

如何将无符号字符数组转换为

 array<unsigned char>^ ?
array^?

提前谢谢

只需创建一个托管阵列,然后复制数据。简单

array<Byte>^ MakeManagedArray(unsigned char* input, int len)
{
    array<Byte>^ result = gcnew array<Byte>(len);
    for(int i = 0; i < len; i++)
    {
        result[i] = input[i];
    }
    return result;
}
array^MakeManagedArray(无符号字符*输入,整数)
{
数组^result=gcnew数组(len);
对于(int i=0;i

是的,我确信有一种方法可以使用封送处理类为您进行复制,或者获取指向托管数组的指针,您可以将其传递到
memcpy
,但这是可行的,并且不需要研究MSDN来验证它是否正确。

只需创建一个托管数组,然后复制数据。简单

array<Byte>^ MakeManagedArray(unsigned char* input, int len)
{
    array<Byte>^ result = gcnew array<Byte>(len);
    for(int i = 0; i < len; i++)
    {
        result[i] = input[i];
    }
    return result;
}
array^MakeManagedArray(无符号字符*输入,整数)
{
数组^result=gcnew数组(len);
对于(int i=0;i

是的,我确信有一种方法可以使用封送处理类为您进行复制,或者获取指向托管数组的指针,您可以将其传递到
memcpy
,但这是可行的,而且不需要研究MSDN来验证它是否正确。

这是boost::array吗?注意
^
:这是一个.NET阵列吗?注意
^
:这是一个.NET阵列。但是让它成为数组^。哦。这就是我没有向编译器检查自己所得到的。@Hans:我见过你几次“更正”——理由是什么?你是否也主张
Int32
而不是
int
?(我个人会在这里使用
unsigned char
而不是
Byte
)我也喜欢这里的Byte,因为
array^
是一种托管类型,在C中,它应该是
Byte[]
。由于
char
在C#中有所不同,我更喜欢
Byte
作为托管对象的一部分。@ildjarn-我不喜欢。消除字符和字节可互换的概念是一场漫长的战斗,取得了小小的胜利。但是让它成为数组^。哦。这就是我没有向编译器检查自己所得到的。@Hans:我见过你几次“更正”——理由是什么?你是否也主张
Int32
而不是
int
?(我个人会在这里使用
unsigned char
而不是
Byte
)我也喜欢这里的Byte,因为
array^
是一种托管类型,在C中,它应该是
Byte[]
。由于
char
在C#中有所不同,我更喜欢
Byte
作为托管对象的一部分。@ildjarn-我不喜欢。消除字符和字节可互换的概念是一场漫长的战斗,但取得了小小的胜利。