應廣大網友需求,我們將在未來兩週內每日推出一個 C# 基礎知識點,幫助初學者快速掌握讀懂專案程式碼的能力。需要說明的是,文章篇幅有限,只能提供學習脈絡,無法面面俱到,進階主題仍需參考專業書籍深入鑽研。
電腦程式處理的資料千變萬化——文字、整數、浮點數等。每種程式語言都需一套完善機制來表示這些資料。某些語言(如 PHP、JavaScript)屬於弱型別語言,執行時期資料型別可動態改變;而 C# 是強型別語言,對不同資料型別有嚴格定義。資料型別分為基本型別與自訂型別(如類別),後者建立在前者基礎上。
C# 提供 8 種整數型別,依位元數與正負號區分:
sbyte:有號 8 位元byte:無號 8 位元short:有號 16 位元ushort:無號 16 位元int:有號 32 位元(最常用)uint:無號 32 位元long:有號 64 位元ulong:無號 64 位元以 32 位元為例:有號 int 範圍為 -2,147,483,648 ~ 2,147,483,647;無號 uint 範圍為 0 ~ 4,294,967,295。最大/最小值絕對值不同,涉及補碼表示法,建議自行補充計算機組織原理知識。
float:32 位元單精度double:64 位元雙精度特殊的 decimal 型別佔 128 位元,專為金融計算設計,提供高精度且避免二進位浮點誤差。
bool 僅有 true 與 false 兩種狀態,廣泛用於條件判斷。
char:單一 Unicode 字元string:零或多個字元組成的有限序列擁有型別後,即可宣告變數:
string name; // 宣告
name = "DouDou"; // 指派
string 為關鍵字(保留字),name 為自訂變數名稱。
C# 型別依記憶體儲存與複製行為分為兩大類:
包含所有基本型別(除 string 外)。變數直接儲存資料值,複製時建立獨立副本:
int a = 1;
int b = a; // b 獲得獨立副本
b = 2; // a 仍為 1,互不影響
變數儲存記憶體位址,指向實際資料。string 是特殊的參考型別:
string c = "Doudou";
string d = c; // 兩者指向同一記憶體位址
但字串具有不可變性:修改 d 時,實際是在記憶體建立新字串,d 指向新位址,c 仍指向原字串,表現類似值型別。
class HelloWorld
{
static void Main()
{
System.Console.WriteLine("Hello World!");
}
}
重點解析:
Main 為程式進入點,必須為 static 靜態方法System.Console.WriteLine 輸出一行文字到控制台class HelloWorld
{
static void Main()
{
string a = "Doudou";
string b = a;
System.Console.WriteLine(a); // Doudou
System.Console.WriteLine(b); // Doudou
b = "Hi";
System.Console.WriteLine(a); // Doudou(未變)
System.Console.WriteLine(b); // Hi
}
}
輸出結果證明字串不可變特性:修改 b 不影響 a。
HelloWorld.cscd /d d:\ → csc.exe HelloWorld.cs → HelloWorld.exe

陣列為參考型別,儲存同型別資料集合:
string[] names; // 宣告
names = new string[] { "aa", "bb", "cc" }; // 初始化
string name = names[2]; // 存取第 3 個元素(索引從 0 開始)
下一篇將介紹運算子、控制流程與方法。建議讀者廣泛查閱資料鞏固本篇內容。