在调用带引用数组的方法之前定义数组大小

时间:2013-03-07 08:32:27

标签: c# arrays pass-by-reference

我需要从COM接口使用一个看起来像这样的方法:

void method(ref string[] output);

由于在方法调用之前我不知道数组的大小,我该如何设置引用的变量:

string[] output = new string[???];

有没有一种聪明的方法可以做到这一点,或者我需要通过提供一个“足够大”的阵列来解决这个问题。之后“缩小”了吗?

1 个答案:

答案 0 :(得分:0)

通常,当方法签名没有请求大小时,它意味着您的数组将由方法代码初始化,您应该将“ref”视为“out”。

然而,情况可能并非如此。如果是这样,我相信,你建议的解决方案是你唯一的选择(如果你不知道预期的数组大小)。