2012-04-20 8 views
0

私はBob Jenkinsの完璧なハッシュ関数をC#からVB.Netに変換しようとしています。VB.Netのボブジェンキンス完璧なハッシュ関数

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

VB.Netで上記の文を書くにはどうすればよいですか?

次の点に注意してください。

するUInt32
ある urlは kが、私は次のことを試してみましたが、それは動作しません整数

ある文字列
です。手動型キャストを行うことを避けるために

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

、私は(char値によって)整数への文字列から型キャストをサポートしてVB does`t、「オプションオフ厳格」

+0

[VB.NETに変換するC#コード(http://stackoverflow.com/questions/9333540/converting-c-sharp-code-to-vb-net)の可能重複 – Henrik

答えて

0

私はこのページから回答を得ました。 Henk Holtermanの答えとMarkJのコメントを参照してください。

Converting C# code to VB.NET

0

と思いを使用しています。
Val(Mid(url,k,1))を使用して、charを整数に変換し、シフトやその他の数学演算を行います。