Help Converting Some C# Code to Visual Basic...

  • Thread starter Thread starter Vagabond Software
  • Start date Start date
V

Vagabond Software

We're talking 2005 for both languages. Left, Top, Right, Bottom, Height, and
Width are Integers.

C# version:
public override int GetHashCode()
{
return Left ^ ((Top << 13) | (Top >> 0x13))
^ ((Width << 0x1a) | (Width >> 6))
^ ((Height << 7) | (Height >> 0x19));
}

My VB2005 version:
Public Overrides Function GetHashCode() As Integer
Return Left ^ ((Top << 13) OR (Top >> 0x13)) _
^ ((Width << 0x1a) OR (Width >> 6)) _
^ ((Height << 7) OR (Height >> 0x19))
End Function

I'm seeing a couple of errors, but I think they are all related to the area
around 0x13. Any help would be greatly appreciated.

Carl
 
We're talking 2005 for both languages. Left, Top, Right, Bottom, Height, and
Width are Integers.

C# version:
public override int GetHashCode()
{
return Left ^ ((Top << 13) | (Top >> 0x13))
^ ((Width << 0x1a) | (Width >> 6))
^ ((Height << 7) | (Height >> 0x19));
}

My VB2005 version:
Public Overrides Function GetHashCode() As Integer
Return Left ^ ((Top << 13) OR (Top >> 0x13)) _
^ ((Width << 0x1a) OR (Width >> 6)) _
^ ((Height << 7) OR (Height >> 0x19))
End Function

I'm seeing a couple of errors, but I think they are all related to the area
around 0x13. Any help would be greatly appreciated.

Carl


change the 0x to &H.
 
C# version:
public override int GetHashCode()
{
return Left ^ ((Top << 13) | (Top >> 0x13))
^ ((Width << 0x1a) | (Width >> 6))
^ ((Height << 7) | (Height >> 0x19));
}

My VB2005 version:
Public Overrides Function GetHashCode() As Integer
Return Left ^ ((Top << 13) OR (Top >> 0x13)) _
^ ((Width << 0x1a) OR (Width >> 6)) _
^ ((Height << 7) OR (Height >> 0x19))
End Function

In addition to what Tom wrote...

The ^ operator in C# performs an XOR operation, whereas in VB it is
the "power of" operator. So make sure you replace ^ with Xor.


Mattias
 
See Mattias' comment. There's no way that using "^" will yield the same
results.
--
David Anton
www.tangiblesoftwaresolutions.com
Instant C#: VB to C# converter
Instant VB: C# to VB converter
Instant C++: C#/VB to C++ converter
Instant Python: C#/VB to Python converter
 
Mattias Sjögren said:
In addition to what Tom wrote...

The ^ operator in C# performs an XOR operation, whereas in VB it is
the "power of" operator. So make sure you replace ^ with Xor.


Mattias

--

Thanks Matt, that resolved a conversion error I was getting (and
subsequently improperly handling).

Carl
 
We're talking 2005 for both languages. [...]

VB.2005 is aka VB.NET?

Perhaps you already know this but you can get a lot of help using a
Lutz Roeder's Reflector:
http://www.aisto.com/roeder/dotnet/

It analyzes the common intermediate language and turns it into source
code; f.x. C#, VB.NET and so on. It is really helpful when converting
from one .NET language to another. And just for peeking at source code
in general.

[:)]-|--<

--

Per Erik Strandberg
..NET Architect - Optimization
Tomlab Optimization Inc.
http://tomopt.com/tomnet/
 
Back
Top