一、字面量定義
在計算機科學中,字面量(literal)是用於表達源代碼中一個固定值的表示法(notation)。幾乎所有計算機編程語言都具有對基本值的字面量表示,諸如:整數、浮點數以及字符串;而有很多也對布爾類型和字符類型的值也支持字面量表示;還有一些甚至對枚舉類型的元素以及像數組、記錄和對象等復合類型的值也支持字面量表示法
二、C#中字面量分類
靜態字面量和實例自面量
靜態字面量
const、枚舉
實例字面量
字面量是源代碼中書寫的數字或字符串,用來表示一個明確類型的明確、固定的值。
1.整數字面量
整數字面量被書寫為十進制數字序列,並且沒有小數點,帶有可選的后綴,用來指明整數的數字類型。
整數字面量根據數字長度系統會匹配int或long型
2.實數字面量
實數字面量由十進制數字,可選的小數點,可選的指數部分和可選的后綴。
無后綴的實數字面量是double類型,不是float類型。
3.字符字面量
字符字面量是由兩個單引號內的字符表示組成。字符字面量包含單個字符、簡單轉義序列、十六進制轉義序列和Unicode轉義序列。
字符字面量的類型是char。
簡單轉義序列是一個反斜杠后面跟着單個字符。
十六進制轉義序列是一個反斜杠,后面跟着一個小寫的x,后面再跟着至多4個十六進制的數字。
Unicode轉義序列是一個反斜杠,后面跟着一個小寫的u,后面再跟着至多4個十六進制的數字。
eg: char c1 = 'd'; //單個字符
char c2 = '\n'; //簡單轉義序列
char c3 = '\x0061'; //十六進制轉義序列
char c4 = '\u005a'; //Unicode轉義序列
4.字符串字面量
字符串字面量使用雙引號標記,字符串字面量包含兩種類型:規則字符串字面量和逐字字符串字面量。
規則字符串字面量由雙引號內的字符串序列組成。其包含字符、簡單轉義字符、十六進制和Unicode轉義序列。
eg: string s1 = "Hi there"; //字符
string s2 = "val1\0,val2"; //簡單轉義字符
string s3 = "val1\x0000,val2"; //十六進制轉義字符
逐字字符串字面量以@字符為前綴,其字符串除了相鄰的雙引號組以外均不再進行轉義,嚴格按照字符串內容表示。
逐字字符串字面量的雙引號組被轉義為單個雙引號。