C# - 常數與字面量:初學者指南

你好,有志於成為程序員的你!今天,我們將深入探讨C#中的常數與字面量的世界。不要擔心這些術語聽起來有點令人卻步 - 在這個教學結束時,你將能夠像專業人士一樣使用它們!

C# - Constants

什麼是常數與字面量?

在我們深入細節之前,讓我們先了解常數與字面量是什麼。將常數想像為特殊的變量,它們在設定後不會改變其值。另一方面,字面量是我們在代碼中使用的實際值。

真實世界的比喻

想像你有一個喜歡的杯子。這個杯子就像是一個常數 - 它不會改變。你每天早上倒入的咖啡就像是一個字面量 - 它是你正在操作的實際值。

現在,讓我們探討C#中不同類型的字面量!

整數字面量

整數字面量是沒有小數點的整數。在C#中,我們可以用不同的方式表示它們。

十進制(基數10)字面量

這些是我們在日常生活中使用的數字。

int myAge = 25;
long worldPopulation = 7800000000;

在這個例子中,257800000000 是整數字面量。

十六進制(基數16)字面量

十六進制數字以 0x0X 開頭。

int hexValue = 0x1A; // 等同於十進制26

在這裡,0x1A 是一個十六進制字面量。

二進制(基數2)字面量

二進制數字以 0b0B 開頭。

int binaryValue = 0b1010; // 等同於十進制10

在這個例子中,0b1010 是一個二進制字面量。

浮點數字面量

浮點數字面量表示帶有小數點的數字。

float pi = 3.14f;
double avogadroNumber = 6.022e23;
decimal bankBalance = 1234.56m;

在這些例子中:

  • 3.14f 是一個浮點字面量(注意 'f' 後綴)
  • 6.022e23 是一個雙精度浮點字面量,使用科學記數法
  • 1234.56m 是一個十進制字面量(注意 'm' 後綴)

字符常數

字符常數代表單個Unicode字符,並且被單引號包圍。

char grade = 'A';
char newline = '\n';

在這裡,'A''\n' 是字符常數。\n 是一個特殊的轉義序列,代表換行。

字符串字面量

字符串字面量是被雙引號包圍的字符序列。

string greeting = "Hello, World!";
string path = @"C:\Users\YourName\Documents";

在這些例子中:

  • "Hello, World!" 是一個普通字符串字面量
  • @"C:\Users\YourName\Documents" 是一個逐字字符串字面量,其中反斜杠被當作字面字符對待

多行字符串字面量

C# 11 引入了一種新方法來寫多行字符串:

string poem = """
玫瑰是紅的,
紫羅蘭是藍的,
C# 是很棒,
你也是!
""";

這使得寫多行字符串變得更加容易且易於閱讀!

定義常數

現在我們已經介紹了字面量,讓我們來討論如何在C#中定義常數。

要定義一個常數,我們使用 const 關鍵字:

public class MathConstants
{
public const double PI = 3.14159265359;
public const int DAYS_IN_WEEK = 7;
}

在這裡,PIDAYS_IN_WEEK 是常數。一旦定義,它們的值就不能被改變。

當使用常數

當你有以下特點的值時,使用常數:

  1. 在編譯時已知
  2. 在程序運行過程中不會改變
  3. 在你的代碼中被多次使用

例如,數學常數、配置值或算法中的魔術數字是使用常數的好候選。

常見C#常數表

這裡是一張你可能會在C#中使用的一些常數的便捷表格:

常數名稱 描述
Math.PI 3.14159265358979323846 圓的周長與直徑的比率
Math.E 2.7182818284590452354 自然對數的底
int.MaxValue 2,147,483,647 32位有符號整數的最大值
int.MinValue -2,147,483,648 32位有符號整數的最小值
double.PositiveInfinity 表示正無窮大
double.NegativeInfinity -∞ 表示負無窮大
string.Empty "" 一個空字符串

結論

恭喜你!你已經踏出了進入C#中常數與字面量世界的第一步。記住,這些是你程序的基礎建築塊,所以對它們有深入的了解將為你在編程旅程上的成功奠定基礎。

隨著你繼續學習和成長,你會發現自己越來越多地使用這些概念。不要害怕嘗試 - 最有效的學習方法是實踐!

持續編程,保持好奇心,並記住:在編程的世界裡,你是常數,而你的知識是持續增長的變量。快樂編程!

Credits: Image by storyset