鲍勃·詹金斯在 VB.Net 中完美哈希函数

本文关键字:完美 哈希 函数 Net VB 金斯 鲍勃 | 更新日期: 2023-09-27 18:31:48

我正在尝试将鲍勃詹金斯的完美哈希函数从 C# 转换为 VB.Net 我被困在下面。

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

我如何在 VB.Net 中写出上述陈述?

请注意以下事项:

a 是 UInt32
网址是字符串
k 是整数

我尝试了以下方法,但它不起作用。

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

为了避免手动进行类型转换,我正在使用"选项严格关闭"

鲍勃·詹金斯在 VB.Net 中完美哈希函数

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

好的,

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

将 C# 代码转换为 VB.NET