Operator = (Equal)

Compares two expressions for equality

Syntax
   Declare Operator = ( ByRef lhs As Byte, ByRef rhs As Byte ) As Integer
   Declare Operator = ( ByRef lhs As UByte, ByRef rhs As UByte ) As Integer
   Declare Operator = ( ByRef lhs As Short, ByRef rhs As Short ) As Integer
   Declare Operator = ( ByRef lhs As UShort, ByRef rhs As UShort ) As 
   Integer
   Declare Operator = ( ByRef lhs As Integer, ByRef rhs As Integer ) As 
   Integer
   Declare Operator = ( ByRef lhs As UInteger, ByRef rhs As UInteger ) As 
   Integer
   Declare Operator = ( ByRef lhs As LongInt, ByRef rhs As LongInt ) As 
   Integer
   Declare Operator = ( ByRef lhs As ULongInt, ByRef rhs As ULongInt ) As 
   Integer

   Declare Operator = ( ByRef lhs As Single, ByRef rhs As Single ) As 
   Integer
   Declare Operator = ( ByRef lhs As Double, ByRef rhs As Double ) As 
   Integer

   Declare Operator = ( ByRef lhs As String, ByRef rhs As String ) As 
   Integer
   Declare Operator = ( ByRef lhs As ZString, ByRef rhs As ZString ) As 
   Integer
   Declare Operator = ( ByRef lhs As WString, ByRef rhs As WString ) As 
   Integer

   Declare Operator = ( ByRef lhs As T, ByRef rhs As T ) As Integer

   Declare Operator = ( ByRef lhs As Boolean, ByRef rhs As Boolean ) As 
   Boolean

Usage
   result = lhs = rhs

Parameters
   lhs
      The left-hand side expression to compare to.
   rhs
      The right-hand side expression to compare to.
   T
      Any pointer type.

Return Value
   Returns negative one (-1) if expressions are equal, or zero (0) if 
   unequal.

Description
   Operator = (Equality) is a binary operator that compares two expressions 
   for equality and returns the result - a boolean value mainly in the form 
   of an Integer: negative one (-1) for true and zero (0) for false. Only 
   if the left and right-hand side types are both Boolean, the return type 
   is also Boolean. The arguments are not modified in any way.

   This operator can be overloaded to accept user-defined types as well.

   Operator = (Equality) should not be confused with initializations or 
   assignments, both of which also use the "=" symbol.

Example

   Dim i As Integer = 0    '' initialization: initialise i with a value of 0
   i = 420                 '' assignment: assign to i the value of 420

   If (i = 69) Then        '' equation: compare the equality of the value of i and 69
      Print "serious error: i should equal 420"
      End -1
   End If

   Operator <> (Inequality) is complement to Operator = (Equality), and is 
   functionally identical when combined with Operator Not (Bit-wise 
   Complement).

      If (420 = 420) Then Print "(420 = 420) is true."
      If Not (69 <> 69) Then Print "not (69 <> 69) is true."

Dialect Differences
   * In the -lang qb dialect, this operator cannot be overloaded.

Differences from QB
   * none

See also
   * Operator <> (Inequality)
   * Operator =[>] (Assignment)
 
