【发布时间】:2011-05-18 18:00:40
【问题描述】:
关于将数组传递给函数,然后操作数组内容(Array.Reverse),然后使用指针从数组中提取值。但在进入函数之前,这是我要做的;
byte[] arrayA = OriginalArray
byte[] arrayB = arrayA;
manipulate(OriginalArray);
而抽象出来的函数,是这样的
manipulateArray(byte[] OriginalArray) // This is unsafe
{
// Unsafe code that keeps a pointer to OriginalArray
// Array reverse
// Value extraction via pointer
}
这样做之后,令我惊讶的是,arrayB 现在“已”操纵其值,就好像我已将其传递给函数一样!除非我错过了什么,否则我很确定我没有做错什么。我确保在 arrayA 和 arrayB 分配之后调用该函数。
需要这方面的指导。 谢谢
【问题讨论】: