When several operators are used in an expression, each operator is evaluated in a predetermined order. Operators are evaluated in this order: 


  • ^ (power) 
  • - (negate) 
  • * (multiply), / (divide) 
  • \ (integer divide) 
  • Mod (integer remainder) 
  • + (add), - (difference) 
  • << (shift left), >> (shift right) 
  • & (string concatenate) 
  • = (equal), <> (not equal), < (less than) > (greater than), <= (less than or equal to), >= (greater than or equal to), Like, (string similarity) New, (object creation) TypeOf, (object type) Is, (object equivalence) IsNot (object non-equivalence) 
  • Not (bitwise invert) 
  • And (bitwise and), AndAlso (short-circuit logical and) 
  • Or (bitwise or), OrElse (short-circuit logical or) 
  • Xor (bitwise exclusive-or) 
  • Eqv (bitwise equivalence) 
  • Imp (bitwise implication) 


Operators shown on the same line are evaluated from left to right.