2015-02-12 92 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的內容預先加載了舊陣列的內容。