i tried converting this code from c#
a += (uint)(url[k + 0] + (url[k + 1] << 8) + (url[k + 2] << 16) + (url[k + 3] << 24));
Your main problem seems to be that C# will allow bit-shifting on a char whereas VB does not.
So you would need something like (untested)
CUInt( ... + (CUint( url(k + 1) ) << 8) + ... )
But it does look like a rather weak HashCode.