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

发布于 2024-07-29 00:25:33 字数 344 浏览 10 评论 0原文

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

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

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

编译器错误消息: CS0118:“缓冲区”是“变量”,但使用方式类似于“方法”

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

谢谢!

I have a CRC class written in VB.NET. I need it in C#. I used an online converter to get me started, but I am getting some errors.

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

On that line, the compiler gives me this error:

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

Any ideas how I could fix this?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

囍孤女 2024-08-05 00:25:33

buffer(i) 更改为 buffer[i]

Change buffer(i) to buffer[i]

瞄了个咪的 2024-08-05 00:25:33

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

Change buffer(i) to buffer[i] as VB array descriptors are () and C# array descriptors are [].

日记撕了你也走了 2024-08-05 00:25:33

使用方括号代替圆括号。

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

Use brackets instead of parentheses.

iLookup = (crc32Result & 0xff) ^ buffer[i];
檐上三寸雪 2024-08-05 00:25:33
buffer[i];  //not buffer(i)

您使用括号而不是方括号。

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

you used parenthesis instead of brackets.

时间你老了 2024-08-05 00:25:33

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

^ 缓冲区[i];

You need square brackets instead of round ones at the end of the second line.

^ buffer[i];

娜些时光,永不杰束 2024-08-05 00:25:33

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

所以

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

You want to change the () to []. Array indexing in C# is done using square brackets, not parentheses.

So

iLookup = (crc32Result & 0xff) ^ buffer[i];
沐歌 2024-08-05 00:25:33

它应该是

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

it should be

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

青瓷清茶倾城歌 2024-08-05 00:25:33

我认为这两者之间缺少一些线条? 否则,您总是会与零进行异或...

“缓冲区”是一个字节数组,在 C# 中通过方括号进行访问。 “缓冲区(一);” C# 编译器将其视为方法调用,并且它知道您已将其声明为变量。 尝试“缓冲区[i];” 反而。

I assume there are some lines missing between these two? Otherwise, you are always going to be doing an XOR with zero...

"buffer" is a byte array, and is accessed with the square brackets in C#. "buffer(i);" looks to the C# compiler like a method call, and it knows you have declared it as a variable. Try "buffer[i];" instead.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文