Я новичок в VB.NET и пытаюсь реализовать что-то в Visual Studio 2013 для вычисления байтов CRC-32 массива байтов. Я встречал множество примеров, некоторые из которых написаны на VB.NET, а некоторые — на C#. Тем не менее, мне не удалось заставить их работать или даже протестировать их.
Например, рассмотрим этот конкретный код от «Mangus», который я нашел на этом сайте. Я скопировал и вставил его в шаблон формы Windows, и я получаю эту ошибку:
ошибка BC30456: «Дамп» не является членом «UInteger».
Приношу извинения, возможно, я делаю что-то действительно глупое, но я ценю любую помощь или подсказки.
Private Sub Main()
Crc32.ComputeChecksum(Encoding.UTF8.GetBytes("Some string")).Dump()
End Sub
Public Class Crc32
Shared table As UInteger()
Shared Sub New()
Dim poly As UInteger = &Hedb88320UI
table = New UInteger(255) {}
Dim temp As UInteger = 0
For i As UInteger = 0 To table.Length - 1
temp = i
For j As Integer = 8 To 1 Step -1
If (temp And 1) = 1 Then
temp = CUInt((temp >> 1) Xor poly)
Else
temp >>= 1
End If
Next
table(i) = temp
Next
End Sub
Public Shared Function ComputeChecksum(bytes As Byte()) As UInteger
Dim crc As UInteger = &HffffffffUI
For i As Integer = 0 To bytes.Length - 1
Dim index As Byte = CByte(((crc) And &Hff) Xor bytes(i))
crc = CUInt((crc >> 8) Xor table(index))
Next
Return Not crc
End Function
End Class