2009-07-24 115 views
2

我有一個用VB.NET編寫的CRC類。我需要它在C#中。我使用了一個在線轉換器來讓我開始,但我收到了一些錯誤。需要一些幫助將VB.NET代碼轉換爲C#

byte[] buffer = new byte[BUFFER_SIZE]; 
iLookup = (crc32Result & 0xff)^buffer(i); 

在該行中,編譯器給了我這個錯誤:

Compiler Error Message: CS0118: 'buffer' is a 'variable' but is used like a 'method'

任何想法如何,我可以解決這一問題?

謝謝!

+0

代表任何人在第一分鐘內回答此問題的任何人:P – 2009-07-24 18:58:33

回答

12

變化buffer(i)buffer[i]

+1

該死的!打秒我! +1 – 2009-07-24 18:56:06

+0

相同,我需要學習更快速地輸入... +1給你。 – 2009-07-24 18:56:57

7

使用括號,而不是括號。

iLookup = (crc32Result & 0xff)^buffer[i]; 
5
buffer[i]; //not buffer(i) 

你使用括號,而不是括號。

5

您需要方括號而不是第二行末尾的圓括號。

^buffer [i];

5

您想將()更改爲[]。 C#中的數組索引是使用方括號完成的,而不是括號。

所以

iLookup = (crc32Result & 0xff)^buffer[i]; 
5

它應該是

iLookup =(crc32Result & 0xff的)^緩衝** [] **

10

變化緩衝液(i)至緩衝液[我],因爲VB數組描述符是()和C#數組描述符是[]。

0

我想這兩者之間有一些線路丟失?否則,你總是要做一個與零異或...

「緩衝區」是一個字節數組,並用C#中的方括號訪問。 「緩衝器(I);」看起來像一個方法調用的C#編譯器,它知道你已經聲明它是一個變量。嘗試「緩衝[我];」代替。

相關問題