我正在尝试使用 VB.net 中 Opus 项目的一些代码,它最初是为 C 编写的,但我正在将它集成到另一个应用程序中......
byte[] _notEncodedBuffer = new byte[0];
byte[] soundBuffer = new byte[e.BytesRecorded + _notEncodedBuffer.Length];
我不确定这些应该如何翻译成 VB.net,我已经翻译了所有代码,但这个并得到了很好的结果,只是不完全确定这些,我的尝试有各种各样的错误,包括标识符预期,缺少括号标识符等! :(
Dim wavNEB As Byte() = New Byte [0]
Dim wavSnd As Byte() = New Byte [e.BytesRecorded + wavNEB.Length]
那是我最后一次尝试,但没有雪茄!
非常感谢任何帮助,我很少需要打破 VB 或 C,所以这不是一个强项......
最佳答案
在 VB.NET 中,语法
Dim ArrayName(N) As ArrayType
相当于C#代码:
ArrayType[] ArrayName = new ArrayType[N+1];
此外,如果ArrayName
已声明为ArrayType
,则可执行语句
ReDim ArrayName(N)
相当于C#代码
ArrayName = new ArrayType[N+1];
另外,VB.NET 提供语法
ReDim Preserve ArrayName(N)
作为将 ArrayName
替换为对大小为 N+1 的新数组的引用的一种方法,其内容已与旧数组的内容一起预加载。
关于C# 到 VB.net 字节转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28467019/