編譯器利用標記 (token) 解析程式的功能, C++ 中的標記有關鍵字 (keyword) 、識別字 (identifier) 、字面常數 (literal) 、運算子 (operator) 等四類
- 關鍵字
- 識別字
- 字面常數
- 運算子
關鍵字
關鍵字為具有語法功能的保留字 (reserved word) , C# 的關鍵字依 ECMA-334 標準共有 77 個,如以下列表
bool | break | byte | case | catch |
char | checked | class | const | continue |
decimal | default | delegate | do | double |
else | enum | event | explicit | extern |
false | finally | fixed | float | for |
foreach | goto | if | implicit | in |
int | interface | internal | is | lock |
long | namespace | new | null | object |
operator | out | override | params | private |
protected | public | readonly | ref | return |
sbyte | sealed | short | sizeof | stackalloc |
static | string | struct | switch | this |
throw | true | try | typeof | uint |
ulong | unchecked | unsafe | ushort | using |
virtual | void | volatile | while |
另外有幾個語法功能的識別字,包括 add 、 alias 、 get 、 global 、 partial 、 remove 、 set 、 value 、 where 、 yield ,可以加上前綴 @ 以資識別。
識別字
識別字為程式語言 (programming language) 中依程式 (program) 需求自行定義的名稱,舉凡程式中所用的各種名稱都屬於識別字, .net 程式庫 (liberary) 其內所定義的名稱也屬於識別字,自行定義名稱時應該避免與程式庫中的名稱衝突。
由於 C# 直接支援 Unicode ,因此任何 Unicode 字元皆可當作識別字,習慣上是用英文二十六的大小寫字母及數字、底線符號,如下
_ | ||||||||||||
a | b | c | d | e | f | g | h | i | j | k | l | m |
n | o | p | q | r | s | t | u | v | w | x | y | z |
A | B | C | D | E | F | G | H | I | J | K | L | M |
N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
字面常數
C# 的字面常數依型態分類有
- 布林字面常數
- 整數字面常數
- 浮點數字面常數
- 字元字面常數
- 字串字面常數
- null 字面常數
運算子
C# 提供多樣、功能完整的運算子,依運算子結合後運算的優先次序 (precedence) ,如下列表
種類 | 運算子 |
---|---|
主要 | x.y f(x) a[x] x++ x-- new typeof checked unchecked |
一元 | + - ! ~ ++x --x (T)x true false & sizeof |
乘法類 | * / % |
加法類 | + - |
位移 | << >> |
關係和型態測試 | < > <= >= is as |
相等測試 | == != |
邏輯 AND | & |
邏輯 XOR | ^ |
邏輯 OR | | |
條件式 AND | && |
條件式 OR | || |
條件式 | ?: |
指派 | = += -= *= /= %= &= |= ^= <<= >>= ?? |
中英文術語對照 | |
---|---|
標記 | token |
關鍵字 | keyword |
識別字 | identifier |
字面常數 | literal |
運算子 | operator |
保留字 | reserved word |
程式語言 | programming language |
程式 | program |
程式庫 | liberary |
優先次序 | precedence |
您可以繼續參考
基本概念
標記
內建型態
相關目錄
回 C# 快速導覽
回 C# 教材
回首頁
參考資料
Standard ECMA-334 C# Language Specification
msdn: C# 參考
沒有留言:
張貼留言