c# 常量
常量是固定值,程序執(zhí)行期間不會改變。常量可以是任何基本數據類型,比如整數常量、浮點常量、字符常量或者字符串常量,還有枚舉常量。
常量可以被當作常規(guī)的變量,只是它們的值在定義后不能被修改。
1. 整數常量
整數常量可以是十進制、八進制或十六進制的常量。前綴指定基數:0x 或 0x 表示十六進制,0 表示八進制,沒有前綴則表示十進制。
整數常量也可以有后綴,可以是 u 和 l 的組合,其中,u 和 l 分別表示 unsigned 和 long。后綴可以是大寫或者小寫,多個后綴以任意順序進行組合。
這里有一些整數常量的范例:
212 /* 合法 */ 215u /* 合法 */ 0xfeel /* 合法 */ 078 /* 非法:8 不是一個八進制數字 */ 032uu /* 非法:不能重復后綴 */
以下是各種類型的整數常量的范例:
85 /* 十進制 */ 0213 /* 八進制 */ 0x4b /* 十六進制 */ 30 /* int */ 30u /* 無符號 int */ 30l /* long */ 30ul /* 無符號 long */
2. 浮點常量
一個浮點常量是由整數部分、小數點、小數部分和指數部分組成。您可以使用小數形式或者指數形式來表示浮點常量。
這里有一些浮點常量的范例:
3.14159 /* 合法 */ 314159e-5l /* 合法 */ 510e /* 非法:不完全指數 */ 210f /* 非法:沒有小數或指數 */ .e55 /* 非法:缺少整數或小數 */
使用浮點形式表示時,必須包含小數點、指數或同時包含兩者。使用指數形式表示時,必須包含整數部分、小數部分或同時包含兩者。有符號的指數是用 e 或 e 表示的。
3. 字符常量
字符常量是括在單引號里,例如,'x',且可存儲在一個簡單的字符類型變量中。一個字符常量可以是一個普通字符(例如 'x')、一個轉義序列(例如 '\t')或者一個通用字符(例如 '\u02c0')。
在 c# 中有一些特定的字符,當它們的前面帶有反斜杠時有特殊的意義,可用于表示換行符(\n)或制表符 tab(\t)。在這里,列出一些轉義序列碼:
轉義序列 | 含義 |
---|---|
\\ | \ 字符 |
\' | ' 字符 |
\" | " 字符 |
\? | ? 字符 |
\a | alert 或 bell |
\b | 退格鍵(backspace) |
\f | 換頁符(form feed) |
\n | 換行符(newline) |
\r | 回車 |
\t | 水平制表符 tab |
\v | 垂直制表符 tab |
\ooo | 一到三位的八進制數 |
\xhh . . . | 一個或多個數字的十六進制數 |
以下是一些轉義序列字符的范例:
namespace escapechar { class program { static void main(string[] args) { console.writeline("hello\tworld\n\n"); console.readline(); } } }
當上面的代碼被編譯和執(zhí)行時,它會產生下列結果:
hello world
4. 字符串常量
字符串常量是括在雙引號 "" 里,或者是括在 @"" 里。字符串常量包含的字符與字符常量相似,可以是:普通字符、轉義序列和通用字符
使用字符串常量時,可以把一個很長的行拆成多個行,可以使用空格分隔各個部分。
這里是一些字符串常量的范例。下面所列的各種形式表示相同的字符串。
string a = "hello, world"; // hello, world string b = @"hello, world"; // hello, world string c = "hello \t world"; // hello world string d = @"hello \t world"; // hello \t world string e = "joe said \"hello\" to me"; // joe said "hello" to me string f = @"joe said ""hello"" to me"; // joe said "hello" to me string g = "\\\\server\\share\\file.txt"; // \\server\share\file.txt string h = @"\\server\share\file.txt"; // \\server\share\file.txt string i = "one\r\ntwo\r\nthree"; string j = @"one two three";
5. 定義常量
常量是使用 const 關鍵字來定義的 。定義一個常量的語法如下:
const <data_type> <constant_name> = value;
下面的代碼演示了如何在程序中定義和使用常量:
using system; public class consttest { ? ? class sampleclass ? ? { ? ? ? ? public int x; ? ? ? ? public int y; ? ? ? ? public const int c1 = 5; ? ? ? ? public const int c2 = c1 + 5; ? ? ? ? public sampleclass(int p1, int p2) ? ? ? ? { ? ? ? ? ? ? x = p1; ? ? ? ? ? ? y = p2; ? ? ? ? } ? ? } ? ? static void main() ? ? { ? ? ? ? sampleclass mc = new sampleclass(11, 22); ? ? ? ? console.writeline("x = {0}, y = {1}", mc.x, mc.y); ? ? ? ? console.writeline("c1 = {0}, c2 = {1}", ? ? ? ? ? ? ? ? ? ? ? ? ? sampleclass.c1, sampleclass.c2); ? ? } }
當上面的代碼被編譯和執(zhí)行時,它會產生下列結果:
x = 11, y = 22 c1 = 5, c2 = 10