top
Loading...
C# 常量

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)。在這里,列出一些轉義序列碼:

轉義序列含義
\\\ 字符
\'' 字符
\"" 字符
\?? 字符
\aAlert 或 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;

下面的代碼演示了如何在程序中定義和使用常量:

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);
    }
}

當上面的代碼被編譯和執行時,它會產生下列結果:

x = 11, y = 22
c1 = 5, c2 = 10
北斗有巢氏 有巢氏北斗