C# 常量
常量是固定值,程式執行期間不會改變。常量可以是任何基本數據類型,比如整數常量、浮點常量、字元常量或者字串常量,還有枚舉常量。
常量可以被當作常規的變數,只是它們的值在定義後不能被修改。
整數常量
整數常量可以是十進位、八進制或十六進制的常量。首碼指定基數: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 */
浮點常量
一個浮點常量是由整數部分、小數點、小數部分和指數部分組成。您可以使用小數形式或者指數形式來表示浮點常量。
這裏有一些浮點常量的實例:
3.14159 /* 合法 */ 314159E-5L /* 合法 */ 510E /* 非法:不完全指數 */ 210f /* 非法:沒有小數或指數 */ .e55 /* 非法:缺少整數或小數 */
使用小數形式表示時,必須包含小數點、指數或同時包含兩者。使用指數形式表示時,必須包含整數部分、小數部分或同時包含兩者。有符號的指數是用 e 或 E 表示的。
字元常量
字元常量是括在單引號裏,例如,'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(); } } }
當上面的代碼被編譯和執行時,它會產生下列結果:
Hello World
字串常量
字串常量是括在雙引號 "" 裏,或者是括在 @"" 裏。字串常量包含的字元與字元常量相似,可以是:普通字元、轉義序列和通用字元
使用字串常量時,可以把一個很長的行拆成多個行,可以使用空格分隔各個部分。
這裏是一些字串常量的實例。下麵所列的各種形式表示相同的字串。
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";
定義常量
常量是使用 const 關鍵字來定義的 。定義一個常量的語法如下:
const <data_type> <constant_name> = value;
下麵的代碼演示了如何在程式中定義和使用常量:
實例
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);
}
}
當上面的代碼被編譯和執行時,它會產生下列結果:
x = 11, y = 22 c1 = 5, c2 = 10