We recommend using Visual Studio 2017
This documentation is archived and is not being maintained.

Operators Compared in Different Languages

Visual Studio .NET 2003

This topic lists the operators for Visual Basic, Visual J#, Visual C++, Visual C#, JScript, and Visual FoxPro.

For details about operators in this language See
Visual Basic Operators Keyword Summary
C++ C++ Operators
C# C# Operators
JScript JScript Operators
  Visual Basic Visual J# C++ C# NEW JScript Visual FoxPro
Additive            
  Addition + + + + + +
  Subtraction - - - - - -
Multiplicative            
  Multiplication * * * * * *
  Division / / / / / /
  Integer division \ n/a   /1    
  Modulus (division returning only the remainder) Mod % % % % (also works with floating point) %; Mod
  Exponentiation ^ n/a   n/a n/a ^, **
Assignment            
  Assignment = = = = = =
  Addition += NEW += += += += +
  Subtraction -= NEW -= -= -= -= -
  Multiplication *= NEW *= *= *= *= *
  Division /= NEW /= /= /= /= /
  Integer division \= NEW n/a n/a /=1 n/a n/a
  Concatenate &= NEW +=   += +=

+
-
$

  Modulus n/a %= %= %= %= %
  Left shift <<= NEW <<= <<= <<= <<= BITLSHIFT( )
  Right shift >>= NEW >>= >>= >>= >>= BITRSHIFT( )
  Bitwise-AND n/a &= &= &= &= BITAND( )
  Bitwise-exclusive-OR n/a ^= ^= ^= ^= BITXOR( )
  Bitwise-inclusive-OR n/a |= |= |= |= BITOR( )
Relational and equality            
  Less than < < < < < <
  Less than or equal to <= <= <= <= <= <=
  Greater than > > > > > >
  Greater than or equal to >= >= >= >= >= >=
  Equal = == == == == =
  Not equal <> != != != != <>; #; !=
  Compare two object reference variables Is == n/a == == COMPOBJ()
  Compare object reference type TypeOf x Is Class1 x instanceof Class1 n/a x is Class1 (also see as and typeof) instanceof n/a
  Compare strings = String.equals() (There are functions to compare and concatenate strings) ==

-or-String.Equals()

== =
  Concatenate strings & +   + + +
  Shortcircuited Boolean AND AndAlso && && && && n/a
  Shortcircuited Boolean OR OrElse || || || || n/a
Shift            
  Left shift << NEW << << << << n/a
  Right shift >> NEW >> >> >> >>, >>> n/a
Scope resolution            
  Scope resolution . n/a :: . and base n/a ::
Postfix2            
  Array element () [ ] [ ] [ ] [ ] [ ]; ()
  Function call () ( ) ( ) ( ) ( ) ( )
  Type cast Cint, CDbl, ..., CType (type) (type) (type) type() n/a
  Member selection . . . or -> . . .
  Postfix increment n/a ++ ++ ++ ++ n/a
  Postfix decrement n/a -- -- -- -- n/a
Unary3            
  Indirection n/a n/a * * (unsafe mode only) n/a n/a
  Address of AddressOf n/a & & (unsafe mode only; also see fixed) n/a n/a
  Logical-NOT Not ! ! ! ! !
  One's complement Not ~ ~ ~ ~ BITNOT( )
  Prefix increment n/a ++ ++ ++ ++ n/a
  Prefix decrement n/a -- -- -- -- n/a
  Size of type n/a n/a sizeof sizeof n/a n/a
  comma n/a , , n/a , n/a
Bitwise            
  Bitwise-AND And & & & & BITAND( )
  Bitwise-exclusive-OR Xor ^ ^ ^ ^ BITXOR( )
  Bitwise-inclusive-OR Or | | | | n/a
Logical            
  Logical-AND And && && && && AND
  Logical-OR Or || || || || OR
Conditional            
  Conditional IIf Function () ?: ?: ?: ?: n/a
Pointer to member            
  Pointer to member n/a n/a .* or -> . (Unsafe mode only) n/a n/a
Reference            
  Reference n/a n/a & n/a (use reference types) n/a @

1. The division operator is overloaded to handle both integer and floating-point division, depending on the operands.

2. Postfix operators have the highest order of precedence in expression evaluation.

3. Unary operators appear before the operand and associate from right to left.

See Also

Language Equivalents | Programming Concepts Compared in Different Languages with Code Examples | Controls and Programmable Objects Compared in Different Languages and Libraries

Show: