.NET for Visual FoxPro Developers

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