我正在尝试将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”
答案 0 :(得分:0)
我认为,vb不支持从字符串到整数的类型转换(通过char值)
使用Val(Mid(url,k,1))
将char转换为整数并对其进行移位和其他数学运算。
答案 1 :(得分:0)
好的,我从这个页面得到了答案。请参阅Henk Holterman的回答和MarkJ的评论。