C# 是微軟推出的面向對象、跨語言(運行於 .NET CLR)編程語言。本文整理入門必備知識點,涵蓋類型系統、變量常量、運算符、輸入輸出、流程控制、數組等核心內容,適合快速回顧與查漏補缺。
Console.Write(); // 不換行輸出 Console.WriteLine(); // 換行輸出 // 常用轉義 \t 制表符 \n 換行 \' 單引號 \" 雙引號
| 類別 | 關鍵字 | 說明 |
|---|---|---|
| 值類型 | short, int, long | 有符號整數,2/4/8 字節 |
| float, double | 單/雙精度浮點數,float 需后綴 f | |
| bool | true/false | |
| enum | 枚舉類型 | |
| struct | 結構體(值類型) | |
| 可空類型 | int? 等 | |
| 引用類型 | char, string | 字符/字符串(不可變) |
| class | 類 | |
| interface | 接口 | |
| delegate | 委托 | |
| object | 所有類型基類 | |
| array | 數組 [] | |
| dynamic | 動態類型 |
注意: 小數默認 double,float 需加 f;char 用單引號,string 用雙引號。
// 變量聲明賦值 int age = 10; age = 11; string name1, name2; int num1 = 15, num2 = 30; num1 = num2 = 10; // 連續賦值 // 常量(聲明時必須賦值,不可改) const double PI = 3.1415; // 命名慣例:全大寫
string name = Console.ReadLine();
int age = Convert.ToInt32(Console.ReadLine());
double money = Convert.ToDouble(Console.ReadLine());
char ch = Convert.ToChar(Console.ReadLine());
// 顯式轉換(強制)
int m = (int)3.14;
int m = Convert.ToInt32(3.14);
int m = int.Parse("3.14");
// 隱式轉換(無損失,小→大)
// char → int → long → float → double
// 注意:char 不能隱式轉 short
() 最高 ++ -- ! (一元) * / % (算術) + - > >= < <= (關係) == != && (邏輯與) || (邏輯或) ?: (三目) = += -= *= /= %= (賦值,右結合)
// 簡單 if
if (expr) { ... }
// 一般 if-else
if (expr) { ... } else { ... }
// 多重 if
if (e1) { ... } else if (e2) { ... } else { ... }
// 嵌套 if
if (e1) { if (e2) { ... } } else { ... }
// switch-case(適用 char/int/string 等值判斷)
switch (val) {
case const1: ... break;
case const2: ... break;
default: ... break;
}
// 注意:case 後有語句必須 break;無語句可省略 break 實現落空
選擇建議: 等值判斷 ≥3 條用 switch;區間/複雜條件用多重 if。
| 類型 | 特點 | 語法骨架 |
|---|---|---|
| while | 先判斷後執行 | init; while(cond) { body; update; } |
| do-while | 先執行後判斷(至少一次) | init; do { body; update; } while(cond); |
| for | 先判斷,適用已知次數 | for(init; cond; update) { body; } |
| foreach | 遍歷集合/數組 | foreach(type var in coll) { body; } |
break:跳出 switch 或循環,繼續執行後續代碼。continue:結束本次循環,直接進入下一次迭代判斷。return:退出方法,返回值。常與 if 結合使用。
// 聲明並分配
int[] nums = new int[5];
string[] names = new string[] { "A", "B" };
double[] moneys = { 1.1, 2.2 }; // 隱式 new
// 訪問
nums[0] = 10;
int len = nums.Length;
// 多維/交錯數組
int[,] matrix = new int[3,4];
int[][] jagged = new int[3][]; // 每行長度可異