| Continuation character | _ ( underscore ) | ; (semicolon) |
| Comments | ' (single quote) | * (asterisk) at the beginning of a line, && (two ampersands) anywhere else |
| Data type indicators | Deprecated in Visual Basic | {} (curly braces) around dates |
| Boolean literals | True False | .T. .F. or T F |
| String delimiters | "" | "" , '' , [] |
| Null | Nothing (the word) | .Null. or Null |
| Character literals | "abc"c | "abc" |
| Attributes of functions | <attr("value")> | No equivalent |
| Option Explicit On | Variables can't be used unless previously declared | No equivalent |
| Option Strict On | Narrowing conversions not allowed; default is Off | No equivalent |
| Option Compare Text | Case insensitivity | Must be explicit in FoxPro, for example, IF UPPER(a)=UPPER(b)... |
| Refer to class libraries | Imports (top of file) | SET CLASSLIB TO Name ADDITIVE or SET PROCEDURE TO Name ADDITIVE |
| Refer to base class | Inherits | ClassLibrary name shown in the Properties sheet, or declared with "as classname of sourcefilename " in code. |
| Namespace | Prefixes for classes | No equivalent |
| Array dimensioning | Dim X(2) is 3 long; X(0) is first one; all elements same type | Dim X(2) is 2 long; X(1) is first one; elements can be of different types |
| Array initialization | Can assign values, for example, Dim x(2) as new integer = {1,4} | DIMENSION X(2) or DECLARE X(2) , then assign individual cells ' values one line at a time |
| Parameters | Specified in Function or Sub statement in parentheses, with type declaration | Before Visual FoxPro7, specified in PARAMETERS or LPARAMETERS statement; beginning with Visual FoxPro7, same style as in Visual Basic .NET |
| Properties | Create property procedures with GET and SET methods , using a private variable as the get/set target; property name appears in Properties sheet of derived classes. | Enter the property name in the Class Designer, or assign a value to a variable name at the top of a class definition in code; the property appears immediately in the Properties sheet of the Class Designer |
| Default prefix block | WITH / ENDWITH | WITH / ENDWITH |
| Events | Used to call as yet unnamed functions in other modules | Don't have 'em, don't need 'em |
| Delegates | Var = AddressOf FunctionName; used to pass functions as parameters | Don't have 'em, don't need 'em |
| Determine variable type | TypeOf Var IS Typename or GetType() | TYPE() or VARTYPE() |
| Argument lists | Either positional or (Name:=Value) | Positional only |
| Variable or object creation | Dim VarName as Class ; VarName = New Class ; VarName = Value , or Dim VarName as New Class = Value | SET CLASSLIB TO XYZ ; VarName = CREATEOBJECT("Class") , or VarName = NEWOBJECT("Class", "Lib.VCX") |
| Object creation from a COM object | CreateObject("Word.Application") | CreateObject("Word.Application") or GetObject("Word.Application") |
| Cast operators | CTYPE() | Individual cast functions like DTOC() or STR() |
| Reference to container | ME | THIS , THISFORM |
| If statement syntax | IF Expr Then ; End If | IF Expr ; ENDIF |
| Case statements | Select Case VarName ; Case "abc" ; Case else ; End Select | DO CASE ; CASE Name="abc" ; OTHERWISE ; ENDCASE |