VB Equivalent to C# Casts





























VB Equivalent to C# Casts

The closest VB equivalent to the standard C# casting operator is the DirectCast operator.  However, use of this operator is invalid in many cases where standard C# casting is used:

e.g.,

This C# code works fine:

i = (int)someDouble;

but the following VB code will not compile:

i = DirectCast(someDouble, Integer)

 

For this reason, the more reliable equivalent in VB is the CType macro and the related shortcut VB macros (CInt, CBool, etc.).

 

A further complication is that C# integer casts always truncate, while the VB integer conversion macros always round.  For this reason, in order to achieve the same results as the C# casts, a call to the VB Fix function is required prior to the call to the CInt, CLng, and CShort macros when converting C# integer casts.

e.g.,

This C# code:

i = (int)someDouble;

has this VB equivalent:

i = CInt(Fix(someDouble))

 

The C# as operator always converts to the VB TryCast operator.

If you need to convert from C# to VB and you are depending on the results being reliable and accurate, then you will want to have Instant VB, the best C# to VB converter.

 

 
 
Email your questions and comments to:  info@tangiblesoftwaresolutions.com

[Site Map]        [Home]


Copyright © 1997 - 2009 Tangible Software Solutions Inc.