2015-02-12 88 views
2

我试图使用从VB.net的作品项目的一些代码,它最初是为C,但我将其集成到其他应用程序...C#来VB.net字节转换

byte[] _notEncodedBuffer = new byte[0]; 

    byte[] soundBuffer = new byte[e.BytesRecorded + _notEncodedBuffer.Length]; 

我不知道这些应该如何被转换成VB.net,我已经翻译了所有的代码,但是这个并且我得到了很好的结果,但是不完全确定这些结果,在我的尝试中出现了各种错误,包括Identifier expected ,支架标识符丢失等! :(

Dim wavNEB As Byte() = New Byte [0] 

    Dim wavSnd As Byte() = New Byte [e.BytesRecorded + wavNEB.Length] 

那是我最后一次尝试,但没有雪茄!

任何帮助非常感谢,我很少有突破VB或C出来,所以它不是一个支撑点...

+1

将括号'[]'换成parhentesis'()'... – 2015-02-12 00:09:21

+1

然后从括号内的数字中减去1。 VB期望最后一项的索引,而不是数组中的项目数量。例如。 'Dim wavNEB(-1)as Byte' – Blackwood 2015-02-12 00:12:45

+0

这绝对不是C.它看起来像C#给我的。 – 2015-02-12 00:14:17

回答

6

在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的内容预先加载了旧阵列的内容。