
編譯器利用標記 (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# 參考
沒有留言:
張貼留言