需要一些帮助将VB.NET代码转换为C#

时间:2009-07-24 18:52:11

标签: c# code-conversion

我有一个用VB.NET编写的CRC类。我需要它在C#中。我使用在线转换器让我开始,但是我遇到了一些错误。

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

在那一行,编译器给了我这个错误:

  

编译器错误消息: CS0118:'buffer'是'变量',但用作'方法'

我有什么想法可以解决这个问题吗?

谢谢!

8 个答案:

答案 0 :(得分:12)

buffer(i)更改为buffer[i]

答案 1 :(得分:10)

将缓冲区(i)更改为缓冲区[i],因为VB数组描述符是(),而C#数组描述符是[]。

答案 2 :(得分:7)

使用括号代替括号。

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

答案 3 :(得分:5)

buffer[i];  //not buffer(i)

你使用括号而不是括号。

答案 4 :(得分:5)

你需要方括号而不是第二行末尾的圆括号。

^ buffer [i];

答案 5 :(得分:5)

您想要将()更改为[]。 C#中的数组索引使用方括号而不是括号来完成。

所以

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

答案 6 :(得分:5)

应该是

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

答案 7 :(得分:0)

我认为这两者之间缺少一些线?否则,你总是会做零的XOR ......

“buffer”是一个字节数组,可以使用C#中的方括号进行访问。 “缓冲器(I);”像C#编译器一样调用方法调用,它知道你已经将它声明为变量。试试“buffer [i];”代替。