У меня есть класс CRC, написанный на VB.NET. Мне нужно это на С#. Я использовал онлайн-конвертер, чтобы начать работу, но я получаю некоторые ошибки.
byte[] buffer = new byte[BUFFER_SIZE];
iLookup = (crc32Result & 0xff) ^ buffer(i);
В этой строке компилятор дает мне эту ошибку:
Сообщение об ошибке компилятора: CS0118: "buffer" - это "переменная", но используется как "метод"
Любые идеи, как я мог это исправить?
Спасибо!
Измените buffer(i)
на buffer[i]
Изменить буфер (i) на буфер [i], поскольку дескрипторы массива VB - это(), а дескрипторы массива С# - [].
Используйте скобки вместо круглых скобок.
iLookup = (crc32Result & 0xff) ^ buffer[i];
buffer[i]; //not buffer(i)
вы использовали скобки вместо скобок.
он должен быть
iLookup = (crc32Result и 0xff) ^ buffer ** [ i] **
Вы хотите изменить() на []. Индексирование массива в С# выполняется с использованием квадратных скобок, а не круглых скобок.
Итак,
iLookup = (crc32Result & 0xff) ^ buffer[i];
Вам нужны квадратные скобки вместо круглых в конце второй строки.
^ buffer [i];
Я предполагаю, что между этими двумя линиями нет пропущенных строк? В противном случае вы всегда будете делать XOR с нулем...
"buffer" - это байтовый массив, к которому обращаются квадратные скобки в С#. "Буфер (I);" смотрит на компилятор С# как вызов метода, и он знает, что вы объявили его как переменную. Попробуйте "buffer [i];" вместо этого.