C#常數和文字


常數是指程式在執行過程中可能不會改變的固定值。這些固定值也稱為文字。 常數可以是任何基本資料型別,如整數常數,浮點常數,字元常數或字串文字。還有列舉常數。

常數被視為常規變數,常數的值在定義之後是不能被修改的。

整數文字

整數文字(常數)可以是十進位制或十六進位制常數。字首指定基數:十六進位制的0x0X,十進位制的字首不存在。

整數常數也可以具有分別為unsignedlong,使用UL字尾來表示。 字尾可以是大寫或小寫,可以是任何順序。

以下是一些整數文字的例子:

212         /* 合法 */
215u        /* 合法 */
0xFeeL      /* 合法 */

以下是各種型別的整數文字的其他範例:

浮點文字

浮點文字具有整數部分,小數點,小數部分和指數部分。 您可以以十進位制形式或指數形式表示浮點文字。

以下是浮點文字的一些範例:

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

以十進位制格式表示,則必須包括小數點,指數或兩者; 並且在使用指數形式表示時,必須包括整數部分,小數部分或兩者。有符號指數由eE引入表示。

字元常數

字元文字用單引號括起來。例如,'x'可以儲存在char型別的簡單變數中。字元文字可以是一個簡單的字元(如'x'),一個跳脫序列(如'\t')或一個通用字元(如'\u02C0')表示。

在 C# 前面有一個反斜槓,有一些字元。 它們具有特殊的含義,它們用於表示像換行符(\n)或標籤(\t)。下面列出的是一些跳脫序列碼的列表:

跳脫序列 含義
\\ \字元
\' '字元
\" "字元
\? ?字元
\a 警戒或響鈴
\b 退格符
\f 換頁
\n 新行
\r 回車
\t 水平製表
\v 水直製表
\xhh . . . 一個或多個數位的十六進位制數位

以下是幾個跳脫序列字元的範例:

using System;
namespace EscapeChar 
{
   class Program
   {
      static void Main(string[] args)
      {
         Console.WriteLine("Hello\tWorld\n\n");
         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:
100
Radius: 100, Area: 31415.9