位置:首頁 > 高級語言 > C#教學 > C#常量和文字

C#常量和文字

常數是指該程序可能無法在其執行期間改變的固定值。這些固定值也被稱為文字。常量可以是任何像一個整型常量,一個浮點常量,字符常量或字符串文字的基本數據類型。還有也可以是枚舉常量。

常量是一樣,隻是它們的值不能自己定義後進行修改常規變量處理(如:修改)。

整數字麵量

一個整數字麵量可以是十進製,八進製,或十六進製常數。前綴指定基或基數:0x或0X的十六進製,0表示八進製,並要求十進製冇有前綴標識。

一個整數文字(字麵量)也可以有一個後綴為U和L的組合,無符號和長分彆。後綴可以是大寫或小寫,並且可以以任意順序。

這裡是整數常量的一些例子:

212         /* Legal */
215u        /* Legal */
0xFeeL      /* Legal */
078         /* Illegal: 8 is not an octal digit */
032UU       /* Illegal: cannot repeat a suffix */

以下是不同類型的整型常量的其他例子:

85         /* decimal */
0213       /* octal */
0x4b       /* hexadecimal */
30         /* int */
30u        /* unsigned int */
30l        /* long */
30ul       /* unsigned long */

浮點文本(字麵量)

浮點字麵值具有一個整數部分,一個小數點,一個小數部分,和一個指數部分。可以表示十進製形式或指數形式浮點文字。

下麵是浮點字麵值的一些例子:

3.14159       /* Legal */
314159E-5L    /* Legal */
510E          /* Illegal: incomplete exponent */
210f          /* Illegal: no decimal or exponent */
.e55          /* Illegal: missing integer or fraction */

同時采用十進製形式表示,則必須包括小數點,指數,或兩者並用而指數形式表示,必須包括整數部分,小數部分,或者兩者兼而有之。無符號的指數,通過e或E介紹

字符常量

字符文字用單引號,例如,'x',並可以存儲在char類型的一個簡單的變量。字符文字可以是一個普通的字符(例如,'x'),轉義序列(如“ '),或通用字符(例如,'u02C0')。

有一些字符在C#中,當前麵加一個反斜杠將有特殊的含義,它們被用來表示類似的換行符( )或製表符( )。在這裡,有一些這樣的轉義序列代碼的列表:

轉義序列 含義
\ 字符
' ' 字符
" " 字符
? ? 字符
a 警報或鈴
 退格
f 換頁
換行符
回車
水平製表
v 垂直製表
ooo 一到三位數字的八進製數
xhh . . . 一個或多個數字的十六進製數

以下為例子來說明一些轉義字符序列:

namespace EscapeChar
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello	World

");
            Console.ReadLine();
        }
    }
}

讓我們編譯和運行上麵的程序,這將產生以下結果:

Hello   World

字符串字麵量

字符串文字或常量用雙引號“”或@“”。一個字符串包含類似於字符文字字符:普通字符,轉義序列和通用字符。

可以中斷長行到使用字符串,分離使用空格部分多行。

下麵是字符串的一些例子。所有的三種形式是相同的字符串。

"hello, dear"
"hello, 
dear"
"hello, " "d" "ear"
@"hello dear"

定義常量

常量使用const關鍵字定義。用於定義一個常數的語法是:

const <data_type> <constant_name> = value;

下麵的程序演示定義和使用程序中的常數:

using System;

namespace DeclaringConstants
{
    class Program
    {
        static void Main(string[] args)
        {
            const double pi = 3.14159; // constant declaration 
            double r;
            Console.WriteLine("Enter Radius: ");
            r = Convert.ToDouble(Console.ReadLine());
            double areaCircle = pi * r * r;
            Console.WriteLine("Radius: {0}, Area: {1}", r, areaCircle);
            Console.ReadLine();
        }
    }
}

讓我們編譯和運行上麵的程序,這將產生以下結果:

Enter Radius: 
3
Radius: 3, Area: 28.27431