下表列出了 X# 语言中可用的关键字:
•VO 列中的关键字源自 Visual Objects 语言。当编译器方言设置为 VO 时,这些关键字可以缩写(最少 4 个字母)
•VN 列中的关键字源自 Vulcan.NET。这些关键字永远不能缩写,而且大多数关键字的位置都是固定的,因此只能在语言中的特定位置被识别。这也意味着这些关键字可以用作变量名或方法名。
•在 X# 列中的关键字是在 X# 中引入的。就像 VN 关键字一样,它们永远不能缩写,而且也有固定的位置。
•VFP 列中的关键字是 FoxPro 特有的。请注意,许多 FoxPro 命令是作为 “自定义命令(User Defined Commands) ”来实现的,它们在 X# 中并不是严格意义上的关键字。
•Xb++栏中的关键字是 Xbase++ 专用的。请注意,许多 Xbase++ 命令是作为 “自定义命令(User Defined Commands) ”实现的,它们在 X# 中并不是严格意义上的关键字。
•在 Id 列中列出的关键字也可用作标识符。这些是所谓的 “上下文敏感 ”关键字。在 Visual Studio 编辑器中,你可能会看到这些关键字会根据在源代码中的位置而改变颜色。
例如,如果您开始键入 PROPERTY,该单词将显示为 IDENTIFIER 颜色:
但只要您继续完成属性定义,它就会变成关键字颜色:
关键字 |
VO |
VN |
X# |
VFP |
Xb++ |
Id |
---|---|---|---|---|---|---|
ABSTRACT |
|
Y |
|
|
|
Y |
ACCESS |
Y |
|
|
|
|
|
ADD |
|
|
Y |
|
|
Y |
ALIGN |
Y |
|
|
|
|
Y |
AND |
|
|
|
Y |
|
Y |
ANNOUNCE |
|
|
|
|
Y2 |
Y |
ANSI |
|
Y |
|
|
|
Y |
ARRAY |
Y |
|
|
|
|
Y1 |
AS |
Y |
|
|
|
|
|
ASCENDING |
|
|
Y |
|
|
Y |
ASPEN |
Y |
|
|
|
|
Y |
ASSEMBLY |
|
|
|
|
|
Y |
ASSIGN |
Y |
|
|
|
|
|
ASSIGNMENT |
|
|
|
|
Y |
Y |
ASYNC |
|
|
Y |
|
|
Y |
AUTO |
|
Y |
|
|
|
Y |
AWAIT |
|
|
Y |
|
|
Y |
BEGIN |
Y |
|
|
|
|
|
BREAK |
Y |
|
|
|
|
|
BY |
|
|
Y |
|
|
Y |
BYTE |
Y |
|
|
|
|
Y1 |
CALLBACK |
Y |
|
|
|
|
Y |
CASE |
Y |
|
|
|
|
|
CATCH |
|
Y |
|
|
|
|
CCALL |
Y |
|
|
|
|
|
CCALLNATIVE |
|
Y |
|
|
|
|
CHAR |
|
Y |
|
|
|
Y |
CHECKED |
|
|
Y |
|
|
Y |
CLASS |
Y |
|
|
|
|
|
CLIPPER |
Y |
|
|
|
|
Y |
CODEBLOCK |
Y |
|
|
|
|
Y1 |
CONST |
|
Y |
|
|
|
Y |
CONSTRUCTOR |
|
Y |
|
|
|
|
DATE |
Y |
|
|
|
|
Y1 |
DECLARE |
Y |
|
|
|
|
Y |
DEFAULT |
|
Y |
|
|
|
Y |
DEFERRED |
|
|
|
|
Y |
Y |
DEFINE |
Y |
|
|
|
|
Y |
DELEGATE |
|
Y |
|
|
|
Y |
DESCENDING |
|
|
Y |
|
|
Y |
DESTRUCTOR |
|
Y |
|
|
|
|
DIM |
Y |
|
|
|
|
Y |
DIMENSION |
|
|
|
Y |
|
Y |
DLLEXPORT |
Y |
|
|
|
|
Y |
DO |
Y |
|
|
|
|
|
DOWNTO |
Y |
|
|
|
|
Y |
DWORD |
Y |
|
|
|
|
Y1 |
DYNAMIC |
|
|
Y |
|
|
Y |
EACH |
|
|
|
Y |
|
Y |
ELSE |
Y |
|
|
|
|
|
ELSEIF |
Y |
|
|
|
|
|
END |
Y |
|
|
|
|
|
ENDCASE |
Y |
|
|
|
|
|
ENDDO |
Y |
|
|
|
|
|
ENDCLASS |
|
|
|
|
Y |
Y |
ENDDEFINE |
|
|
|
Y |
|
Y |
ENDIF |
Y |
|
|
|
|
|
ENDFOR |
|
|
|
Y2 |
Y2 |
Y |
ENDFUNC |
|
|
|
Y2 |
|
Y |
ENDPROC |
|
|
|
Y2 |
|
Y |
ENDSCAN |
|
|
|
Y2 |
|
Y |
ENDSEQUENCE |
|
|
|
|
Y2 |
Y |
ENDTRY |
|
|
|
Y2 |
|
Y |
ENDWITH |
|
|
|
Y2 |
|
Y |
ENUM |
|
Y |
|
|
|
Y |
EQUALS |
|
|
Y |
|
|
Y |
EVENT |
|
Y |
|
|
|
Y |
EXIT |
Y |
|
|
|
|
|
EXCLUDE |
|
|
|
Y |
|
Y |
EXPLICIT |
|
Y |
|
|
|
Y |
EXPORT |
Y |
|
|
|
|
|
EXPORTED |
|
|
|
|
Y |
Y |
EXTERN |
|
|
Y |
|
|
Y |
FALSE |
Y |
|
|
|
|
|
FASTCALL |
Y |
|
|
|
|
Y |
FIELD |
Y |
|
|
|
|
Y |
FINAL |
|
|
|
|
Y |
Y |
FINALLY |
|
Y |
|
|
|
|
FIXED |
|
|
Y |
|
|
Y |
FLOAT |
Y |
|
|
|
|
|
FOR |
Y |
|
|
|
|
|
FOREACH |
|
Y |
|
|
|
Y |
FOR EACH |
|
|
|
Y2 |
Y2 |
Y |
FREEZE |
|
` |
|
|
Y |
Y |
FROM |
|
|
Y |
|
|
Y |
FUNC |
Y |
|
|
|
|
Y |
FUNCTION |
Y |
|
|
|
|
|
GET |
|
Y |
|
|
|
Y |
GLOBAL |
Y |
|
|
|
|
Y |
GROUP |
|
|
Y |
|
|
Y |
HELPSTRING |
|
|
|
Y |
|
Y |
HIDDEN |
Y |
|
|
|
|
|
IF |
Y |
|
|
|
|
|
IIF |
Y |
|
|
|
|
|
IMPLEMENTS |
|
Y |
|
|
|
Y |
IMPLICIT |
|
Y |
|
|
|
Y |
IMPLIED |
|
Y |
|
|
|
Y |
IN |
Y |
|
|
|
|
Y |
INHERIT |
Y |
|
|
|
|
Y |
INITONLY |
|
Y |
|
|
|
Y |
INLINE |
|
|
|
|
Y |
Y |
INSTANCE |
Y |
|
|
|
|
Y |
INT |
Y |
|
|
|
|
Y1 |
INT64 |
|
Y |
|
|
|
Y1 |
INTERFACE |
|
Y |
|
|
|
Y |
INTO |
|
|
Y |
|
|
Y |
INTERNAL |
|
Y |
|
|
|
Y |
INTRODUCE |
|
|
|
|
Y |
Y |
IS |
Y |
|
|
|
|
|
JOIN |
|
|
Y |
|
|
Y |
LET |
|
|
Y |
|
|
Y |
LOCAL |
Y |
|
|
|
|
|
LOCK |
|
Y |
|
|
|
Y |
LONG |
Y |
|
|
|
|
Y1 |
LONGINT |
Y |
|
|
|
|
Y1 |
LOOP |
Y |
|
|
|
|
|
LPARAMETERS |
|
|
|
Y |
|
Y |
MEMBER |
Y |
|
|
|
|
|
MEMVAR |
Y |
|
|
|
|
|
METHOD |
Y |
|
|
|
|
|
MODULE |
|
|
Y |
|
|
Y |
NAMEOF |
|
|
Y |
|
|
Y |
NAMESPACE |
|
Y |
|
|
|
Y |
NEW |
|
Y |
|
|
|
Y |
NEXT |
Y |
|
|
|
|
|
NIL |
Y |
|
|
|
|
|
NOINIT |
|
|
|
Y |
|
Y |
NOP |
|
|
Y |
|
|
Y |
NOSAVE |
|
|
|
|
Y |
Y |
NOT |
|
|
|
Y |
|
Y |
NULL |
Y |
|
|
|
|
|
NULL_ARRAY |
Y |
|
|
|
|
|
NULL_CODEBLOCK |
Y |
|
|
|
|
|
NULL_DATE |
Y |
|
|
|
|
|
NULL_OBJECT |
Y |
|
|
|
|
|
NULL_PSZ |
Y |
|
|
|
|
|
NULL_PTR |
Y |
|
|
|
|
|
NULL_STRING |
Y |
|
|
|
|
|
NULL_SYMBOL |
Y |
|
|
|
|
|
OBJECT |
Y |
|
|
|
|
Y1 |
OFF |
|
Y |
|
|
|
|
OLEPUBLIC |
|
|
|
Y |
|
Y |
ON |
|
Y |
|
|
|
Y |
OPERATOR |
|
Y |
|
|
|
Y |
OPTIONS |
|
Y |
|
|
|
|
OR |
|
|
|
Y |
|
Y |
ORDERBY |
|
|
Y |
|
|
Y |
OTHERWISE |
Y |
|
|
|
|
|
OVERRIDE |
|
|
Y |
|
|
Y |
OUT |
|
|
|
|
|
Y |
PARAMETERS |
Y |
|
|
|
|
|
PARAMS |
|
|
Y |
|
|
Y |
PARTIAL |
|
Y |
|
|
|
Y |
PASCAL |
Y |
|
|
|
|
Y |
PCALL |
Y |
|
|
|
|
|
PCALLNATIVE |
|
Y |
|
|
|
|
PCOUNT |
Y |
|
|
|
|
|
POP |
|
Y |
|
|
|
|
PRIVATE |
Y |
|
|
|
|
|
PROC |
Y |
|
|
|
|
Y |
PROCEDURE |
Y |
|
|
|
|
|
PROPERTY |
|
Y |
|
|
|
Y |
PROTECTED |
Y |
|
|
|
|
|
PSZ |
Y |
|
|
|
|
Y1 |
PTR |
Y |
|
|
|
|
Y1 |
PUBLIC |
Y |
|
|
|
|
|
PUSH |
|
Y |
|
|
|
|
REAL4 |
Y |
|
|
|
|
Y1 |
REAL8 |
Y |
|
|
|
|
Y1 |
RECOVER |
Y |
|
|
|
|
|
REF |
Y |
|
|
|
|
|
REMOVE |
|
|
Y |
|
|
Y |
REPEAT |
|
Y |
|
|
|
|
REQUEST |
|
|
|
|
Y2 |
Y |
RETURN |
Y |
|
|
|
|
|
SCOPE |
|
Y |
|
|
|
Y |
SEALED |
|
Y |
|
|
|
Y |
SELECT |
|
|
Y |
|
|
Y |
SELF |
Y |
|
|
|
|
|
SEQUENCE |
Y |
|
|
|
|
Y |
SET |
|
Y |
|
|
|
Y |
SHARED |
|
|
|
|
Y |
Y |
SHARING |
|
|
|
|
Y |
Y |
SHORT |
Y |
|
|
|
|
Y1 |
SHORTINT |
Y |
|
|
|
|
Y1 |
SIZEOF |
|
Y |
|
|
|
|
STATIC |
Y |
|
|
|
|
|
STEP |
Y |
|
|
|
|
Y |
STRICT |
Y |
|
|
|
|
Y |
STRING |
Y |
|
|
|
|
Y1 |
STRUCT |
Y |
|
|
|
|
|
STRUCTURE |
|
Y |
|
|
|
Y |
SUPER |
Y |
|
|
|
|
|
SWITCH |
|
|
Y |
|
|
Y |
SYMBOL |
Y |
|
|
|
|
Y1 |
SYNC |
|
|
|
|
Y |
Y |
THEN |
|
|
|
Y |
|
Y |
THISCALL |
Y |
|
|
|
|
Y |
TO |
Y |
|
|
|
|
|
THROW |
|
Y |
|
|
|
|
TRUE |
Y |
|
|
|
|
|
TRY |
|
Y |
|
|
|
Y |
TUPLE |
|
|
Y |
|
|
Y |
TYPEOF |
|
Y |
|
|
|
|
UINT64 |
|
Y |
|
|
|
Y1 |
UNCHECKED |
|
|
Y |
|
|
Y |
UNICODE |
|
Y |
|
|
|
Y |
UNION |
Y |
|
|
|
|
Y |
UNSAFE |
|
|
Y |
|
|
Y |
UNTIL |
|
Y |
|
|
|
Y |
UPTO |
Y |
|
|
|
|
Y |
USING |
Y |
|
|
|
|
Y |
USUAL |
Y |
|
|
|
|
Y1 |
VALUE |
|
Y |
|
|
|
Y |
VAR |
|
|
Y |
|
|
Y |
VIRTUAL |
|
Y |
|
|
|
Y |
VOID |
Y |
|
|
|
|
Y1 |
VOLATILE |
|
|
Y |
|
|
Y |
VOSTRUCT |
|
Y |
|
|
|
Y |
WARNINGS |
|
Y |
|
|
|
|
_WINCALL |
Y |
|
|
|
|
Y |
WHEN |
|
|
Y |
|
|
Y |
WHERE |
|
|
Y |
|
|
Y |
WHILE |
Y |
|
|
|
|
|
WORD |
Y |
|
|
|
|
Y1 |
XOR |
|
|
|
Y |
|
Y |
YIELD |
|
|
Y |
|
|
Y |
__ARGLIST |
|
|
Y |
|
|
|
_AND |
Y |
|
|
|
|
|
_CAST |
Y |
|
|
|
|
|
_CODEBLOCK |
Y |
|
|
|
|
|
_DLL |
Y |
|
|
|
|
|
_FIELD |
Y |
|
|
|
|
|
_GETFPARAM |
|
|
|
|
|
|
_GETMPARAM |
|
|
|
|
|
|
_INIT1, _INIT2, _INIT3 |
Y |
|
|
|
|
|
_NOT |
Y |
|
|
|
|
|
_OR |
Y |
|
|
|
|
|
_SIZEOF |
Y |
|
|
|
|
|
_TYPEOF |
Y |
|
|
|
|
|
_XOR |
Y |
|
|
|
|
|
.AND. |
Y |
|
|
|
|
|
.F. |
Y |
|
|
|
|
|
.NOT. |
Y |
|
|
|
|
|
.OR. |
Y |
|
|
|
|
|
.T. |
Y |
|
|
|
|
|
.XOR. |
Y |
|
|
|
|
|
... |
Y |
|
|
|
|
|
#command |
|
Y |
|
|
|
|
#define |
|
Y |
|
|
|
|
#else |
|
Y |
|
|
|
|
#endif |
|
Y |
|
|
|
|
#endregion |
|
Y |
|
|
|
|
#ifdef |
|
Y |
|
|
|
|
#ifndef |
|
Y |
|
|
|
|
#include |
|
Y |
|
|
|
|
#line |
|
Y |
|
|
|
|
#pragma |
|
Y |
|
|
|
|
#region |
|
Y |
|
|
|
|
#translate |
|
Y |
|
|
|
|
#undef |
|
Y |
|
|
|
|
#using |
|
Y |
|
|
|
|
#warning |
|
Y |
|
|
|
|
#xcommand |
|
Y |
|
|
|
|
#xtranslate |
|
Y |
|
|
|
|
#ycommand |
|
|
Y |
|
|
|
#ytranslate |
|
|
Y |
|
|
|
1 这些类型名称只有在方言不是 Core、VO 或 Vulcan 时才能用作标识符。
2 该关键字实际上是由预处理器命令定义的