1

我几乎没有编写 C# 代码的经验,但我想为我的一些代码制作一个强大的 Windows GUI。我想知道下面的代码是按值传递还是按引用传递。特别是如果bytes[]在传递给神秘之前被复制?我需要在 extern 中有一个明确的 ref 语句吗?

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

2 回答 2

7

参数总是按值传递,除非您使用reforout关键字。

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

于 2012-12-10T08:49:54.667 回答
1

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

于 2012-12-10T08:46:45.990 回答