Appendix
A
Language Comparison Tables
The tables in this appendix provide a side-by-side comparison of
Visual FoxPro, C#, and VB.NET’s features.
Operator Comparison
Table 1 is an adaptation of the table found in
the .NET Help topic “Operators compared in different languages”.
Table 1. A
comparison of Visual FoxPro, C#, and VB.NET operators
|
|
Visual
FoxPro
|
C#
|
VB.NET
|
|
Math
|
|
|
|
|
Addition
|
+
|
+
|
+
|
|
Subtraction
|
-
|
-
|
-
|
|
Multiplication
|
*
|
*
|
*
|
|
Division
|
/
|
/
|
/
|
|
Modulus
|
%; MOD
|
%
|
Mod
|
|
Exponentiation
|
^, **
|
n/a
|
^
|
|
Assignment
|
|
|
|
|
Assignment
|
=
|
=
|
=
|
|
Addition
|
+
|
+=
|
+=
|
|
Subtraction
|
-
|
-=
|
-=
|
|
Multiplication
|
*
|
*=
|
*=
|
|
Division
|
/
|
/=
|
/=
|
|
Integer Division
|
n/a
|
/=
|
\=
|
|
Concatenate
|
+, -, $
|
+=
|
&=
|
|
Modulus
|
%
|
%=
|
n/a
|
|
Left Shift
|
BITLSHIFT()
|
<<=
|
n/a
|
|
Right Shift
|
BITRSHIFT()
|
>>=
|
n/a
|
|
Bitwise-AND
|
BITAND()
|
&=
|
n/a
|
|
Bitwise-exclusive-OR
|
BITXOR()
|
^=
|
n/a
|
|
Bitwise-inclusive-OR
|
BITOR()
|
|=
|
n/a
|
|
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
|
COMPOBJ()
|
==
|
Is
|
|
Compare object reference type
|
n/a
|
x is Class1
(see also as and typeof)
|
TypeOf x Is
Class1
|
Table 1,
continued
|
|
Visual
FoxPro
|
C#
|
VB.NET
|
|
Relational and equality (continued)
|
|
|
|
Compare strings
|
=
|
==
-or-
String.Equals()
|
=
|
|
|
|
|
|
|
Concatenate strings
|
+
|
+
|
&
|
|
Shortcircuited Boolean AND
|
n/a
|
&&
|
AndAlso
|
|
Shortcircuited Boolean OR
|
n/a
|
||
|
OrElse
|
|
Shift
|
|
|
|
|
Left Shift
|
n/a
|
<<
|
n/a
|
|
Right Shift
|
n/a
|
>>
|
n/a
|
|
Scope Resolution
|
|
|
|
|
Scope resolution
|
::
|
. and base
|
.
|
|
Postfix
|
|
|
|
|
Array Element
|
( ), [ ]
|
[ ]
|
( )
|
|
Function call
|
( )
|
( )
|
( )
|
|
Type cast
|
n/a
|
(type)
|
CInt, CDbl, …,
CType
|
|
Member selection
|
.
|
.
|
.
|
|
Postfix increment
|
n/a
|
++
|
n/a
|
|
Postfix decrement
|
n/a
|
--
|
n/a
|
|
Unary
|
|
|
|
|
Indirection
|
n/a
|
* (unsafe mode
only)
|
n/a
|
|
Address of
|
n/a
|
& (unsafe mode only;
also see fixed)
|
AddressOf
|
|
Logical-not
|
!
|
!
|
Not
|
|
One’s complement
|
BITNOT()
|
~
|
Not
|
|
Prefix increment
|
n/a
|
++
|
n/a
|
|
Prefix decrement
|
n/a
|
--
|
n/a
|
|
Size of type
|
n/a
|
sizeof
|
n/a
|
|
Bitwise
|
|
|
|
|
Bitwise-AND
|
BITAND()
|
&
|
And
|
|
Bitwise-exclusive-OR
|
BITXOR
|
^
|
Xor
|
|
Bitwise-inclusive-OR
|
n/a
|
|
|
Or
|
|
Logical
|
|