
- C# 基礎教程
- C# - 首頁
- C# - 概述
- C# - 環境
- C# - 程式結構
- C# - 基本語法
- C# - 資料型別
- C# - 型別轉換
- C# - 變數
- C# - 常量
- C# - 運算子
- C# - 決策
- C# - 迴圈
- C# - 封裝
- C# - 方法
- C# - 可空型別
- C# - 陣列
- C# - 字串
- C# - 結構體
- C# - 列舉
- C# - 類
- C# - 繼承
- C# - 多型
- C# - 運算子過載
- C# - 介面
- C# - 名稱空間
- C# - 預處理器指令
- C# - 正則表示式
- C# - 異常處理
- C# - 檔案I/O
C# - 常量和字面量
常量指的是程式在其執行過程中不能更改的固定值。這些固定值也稱為字面量。常量可以是任何基本資料型別,例如整數常量、浮點常量、字元常量或字串字面量。還有列舉常量。
常量與普通變數一樣,只是它們的定義後其值不能被修改。
整數字面量
整數字面量可以是十進位制或十六進位制常量。字首指定基數或基:十六進位制為 0x 或 0X,十進位制沒有字首。
整數字面量也可以帶有後綴,該字尾是 U 和 L 的組合,分別表示無符號和長整型。字尾可以是大寫或小寫,並且可以按任意順序排列。
以下是一些整數字面量的示例:
212 /* Legal */ 215u /* Legal */ 0xFeeL /* Legal */
以下是各種型別整數字面量的其他示例:
85 /* decimal */ 0x4b /* hexadecimal */ 30 /* int */ 30u /* unsigned int */ 30l /* long */ 30ul /* unsigned long */
浮點字面量
浮點字面量具有整數部分、小數點、小數部分和指數部分。您可以用十進位制形式或指數形式表示浮點字面量。
以下是一些浮點字面量的示例:
3.14159 /* Legal */ 314159E-5F /* Legal */ 510E /* Illegal: incomplete exponent */ 210f /* Illegal: no decimal or exponent */ .e55 /* Illegal: missing integer or fraction */
在十進位制表示中,必須包含小數點、指數或兩者;而在使用指數形式表示時,必須包含整數部分、小數部分或兩者。帶符號的指數由 e 或 E 引入。
字元常量
字元字面量用單引號括起來。例如,'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: 3 Radius: 3, Area: 28.27431