|
web
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Help Converting Some C# Code to Visual Basic...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
Show quote
Hide quote
On May 3, 9:18 am, "Vagabond Software" <vagabondsw***@-X-gmail.com> change the 0x to &H.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 -- Tom Shelton
Show quote
Hide quote
"Tom Shelton" <tom_shel***@comcast.net> wrote in message Thanks Time, that did the trick.news:1178206818.579523.215190@e65g2000hsc.googlegroups.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 > Carl See Mattias' comment. There's no way that using "^" will yield the same
results. -- Show quoteHide quoteDavid 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" <tom_shel***@comcast.net> wrote in message > news:1178206818.579523.215190@e65g2000hsc.googlegroups.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 > > >
Show quote
Hide quote
>C# version: In addition to what Tom wrote...> 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 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.
Show quote
Hide quote
"Mattias Sjögren" <mattias.dont.want.spam@mvps.org> wrote in message Thanks Matt, that resolved a conversion error I was getting (and news:u%23tA$iajHHA.4704@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 > > -- subsequently improperly handling). Carl On 3 Maj, 17:18, "Vagabond Software" <vagabondsw***@-X-gmail.com> VB.2005 is aka VB.NET?wrote: > We're talking 2005 for both languages. [...] 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/ |
|||||||||||||||||||||||