将大数据传递到C#函数的最佳方法是什么?

Jam*_*mes 4 c#

基本上,我有一个非常大的byte[]和一类辅助函数.

我是否正确地思考如果我打电话Helpers.HelperFunc(mybigbytearray),mybigbytearray会在内存中重复吗?

如果是这样,为函数提供一个大变量的最佳方法是什么(指针看起来不错但是帮助函数是unsafe明智的吗?垃圾收集器是否还能工作?)

Ell*_*lle 8

与C#中的其他对象一样,数组通过引用传递,因此数组中的数据不会被复制; 传递数组的函数将引用原始数组.


数组作为对象(C#编程指南)

在C#中,数组实际上是对象,而不仅仅是C和C++中的连续内存的可寻址区域.System.Array是所有数组类型的抽象基类型.

并将数组作为参数传递(C#编程指南)

数组可以作为参数传递给方法参数.由于数组是引用类型,因此该方法可以更改元素的值.