C#字节数组到VB.NET的转换

C#字节数组到VB.NET的转换,c#,arrays,vb.net,byte,C#,Arrays,Vb.net,Byte,根据我的最后一个问题,我借用了Opus项目中的一些代码来集成到VB.NET软件中 考虑 byte[] buff = _encoder.Encode(segment, segment.Length, out len); 我把它翻译成: Dim buff(wavEnc.Encode(segment, segment.Length, len)) As Byte 它抛出了一个: “字节的一维数组”类型的值无法转换为“整数”错误 如何解决此问题?\u encoder.Encode()是赋值的右侧。左边

根据我的最后一个问题,我借用了Opus项目中的一些代码来集成到VB.NET软件中

考虑

byte[] buff = _encoder.Encode(segment, segment.Length, out len);
我把它翻译成:

Dim buff(wavEnc.Encode(segment, segment.Length, len)) As Byte
它抛出了一个:

“字节的一维数组”类型的值无法转换为“整数”错误

如何解决此问题?

\u encoder.Encode()
是赋值的右侧。左边是一个字节数组

在VB示例中使用它的方式是作为数组维度:一个整数。

尝试以下方法:

Dim buff = wavEnc.Encode(segment, segment.Length, len)
当然你可以直接翻译c#:


根本不需要类型-让编译器来解决它。

这个答案有正确的翻译,但我要补充的是,“让编译器来解决”是可以的,只要你真正指的是编译器(选项推断),而不是运行时(选项严格关闭)。@JoelCoehoorn-很好。在VB.NET中工作时,我总是有
选项推断
选项严格限制
。我希望每个人都会,但你可能是对的,不是每个人都会。
Dim buff As Byte() = wavEnc.Encode(segment, segment.Length, len)