By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,376 Members | 1,566 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,376 IT Pros & Developers. It's quick & easy.

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

P: n/a
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
May 3 '07 #1
Share this Question
Share on Google+
6 Replies


P: n/a
On May 3, 9:18 am, "Vagabond Software" <vagabondsw...@-X-gmail.com>
wrote:
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.

--
Tom Shelton

May 3 '07 #2

P: n/a
"Tom Shelton" <to*********@comcast.netwrote in message
news:11**********************@e65g2000hsc.googlegr oups.com...
On May 3, 9:18 am, "Vagabond Software" <vagabondsw...@-X-gmail.com>
wrote:
>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.

--
Tom Shelton
Thanks Time, that did the trick.

Carl
May 3 '07 #3

P: n/a
>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

--
Mattias Sjögren [C# MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.
May 3 '07 #4

P: n/a
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
"Vagabond Software" wrote:
"Tom Shelton" <to*********@comcast.netwrote in message
news:11**********************@e65g2000hsc.googlegr oups.com...
On May 3, 9:18 am, "Vagabond Software" <vagabondsw...@-X-gmail.com>
wrote:
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.

--
Tom Shelton

Thanks Time, that did the trick.

Carl
May 3 '07 #5

P: n/a
"Mattias Sjögren" <ma********************@mvps.orgwrote in message
news:u%****************@TK2MSFTNGP06.phx.gbl...
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

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

Carl
May 4 '07 #6

P: n/a
On 3 Maj, 17:18, "Vagabond Software" <vagabondsw...@-X-gmail.com>
wrote:
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/

May 4 '07 #7

This discussion thread is closed

Replies have been disabled for this discussion.