C# 的常量類別彙總,及常量的定義方式(學習心得 7)

常量是固定值。

可爲任何基本數據類型:整數,浮點數,字符串等。

一、整數常量

前綴:

  • 十進制:沒有前綴
  • 八進制:前綴爲 0
  • 十六進制:前綴爲 0x 或 0X

後綴:

  • unsigned:後綴 U 或 u(表示無符號)
  • long:後綴 L 或 l(表示 64 位有符號整數類型)
  • 多個後綴可任意順序組合

例:

212         // 合法,整型
215u        // 合法,無符號整型
0xFeeL      // 合法,十六進制整形(0~F 代表 0~15)
078         // 非法,八進制數爲 0~7
032UU       // 非法,不能重複後綴

二、浮點數常量

浮點數常量包含:

  • 整數部分
  • 小數點+小數部分 或 指數部分

例:

3.14159       // 合法
314159E-5L    // 合法(314159 * 10^-5)
510E          // 非法,有指數標記,但是缺了指數部分
210f          // 非法,沒有小數部分/指數部分
.e55          // 非法,沒有整數部分/小數部分

三、字符常量

表示 一個 字符,用單引號。

一個字符常量可以是:

  • 一個普通字符
  • 一個轉義序列(如 ‘\t’)
  • 一個通用字符(如 ‘\u02C0’)

轉義字符表:

轉義序列 含義
\ \ 字符
’ 字符
" " 字符
? ? 字符
\a Alert 或 bell
\b 退格鍵(Backspace)
\f 換頁符(Form feed)
\n 換行符(Newline)
\r 回車
\t 水平製表符 tab
\v 垂直製表符 tab
\ooo 一到三位的八進制數
\xhh . . . 一個或多個數字的十六進制數

四、字符串常量

字符串用雙引號,或者用@雙引號。

例:

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\ntwo\rthree\r\nfour\n\rfive\r\n\nsix";

運行結果:

one
three
four
five

six

可見以下問題:

  • \n 表示換行
  • \r 把前面這一行的內容覆蓋了,相當於回到行首
  • \n\r 和 \r\n 的效果一樣,都是換行
  • 2 個 \n 即 2 次換行
  • 據說這個差別是操作系統的關係,未證實~
string j = @"one
two

three";

運行結果:

one
two

three

五、定義常量

語法:

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);
        // 實例化 SampleClass 這個類,通過對 類下面的方法 SampleClass 進行初始化賦值
        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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章