这是参考还是价值?

时间:2012-12-10 08:44:02

标签: c# pass-by-reference

我编写C#代码的经验很少,但我想为我的一些代码制作一个强大的Windows GUI。我想知道以下代码是通过值还是通过引用传递的。具体来说,如果bytes[]在传递给神秘之前被复制了吗?我在extern中需要一个explicate ref语句吗?

 [DllImport("unSHA.dll", CallingConvention = CallingConvention.Cdecl)]
 private static extern void time(byte[] bytes);

2 个答案:

答案 0 :(得分:7)

除非您使用refout关键字,否则参数始终按值传递。

数组是引用类型,因此传递的值是对数组的引用的副本。

答案 1 :(得分:1)

bytes参数通过引用传递,对于.NET中的所有数组类型都是如此。