Bob Jenkins在VB.Net中完善哈希函数

时间:2012-04-20 05:58:19

标签: c# vb.net hash

我正在尝试将Bob Jenkins的完美哈希函数从C#转换为VB.Net,我仍然坚持跟随。

a += (UInt32)(url[k + 0] + (url[k + 1] << 8) + (url[k + 2] << 16) + (url[k + 3] << 24))

如何在VB.Net中编写上述语句?

请注意以下事项:

a是UInt32
url是String
k是整数

我尝试了以下但不起作用。

a += url(k + 0) + (url(k + 1) << 8) + (url(k + 2) << 16) + (url(k + 3) << 24)

为避免手动进行类型转换,我使用“Option Strict Off”

2 个答案:

答案 0 :(得分:0)

我认为,vb不支持从字符串到整数的类型转换(通过char值) 使用Val(Mid(url,k,1))将char转换为整数并对其进行移位和其他数学运算。

答案 1 :(得分:0)

好的,我从这个页面得到了答案。请参阅Henk Holterman的回答和MarkJ的评论。

Converting C# code to VB.NET