C++ 與 C# 類別機制深度對比:從建構子到多型的演進
前言 C# 吸收 C++ 物件導向精華,並針對現代開發痛點 (記憶體管理、模組化、型別安全) 重新設計類別機制。本文從 C++ 開發者視角,系統對比兩語言在類別
C# 標準 Dispose 模式完整實作:非受控資源釋放的最佳實務
前言 .NET 垃圾收集器 (GC) 僅管理記憶體。檔案控制代碼、資料庫連線、GDI 物件、COM 物件等非受控資源必須由開發者顯式釋放。標準 Dispose
C# 設計模式實作:抽象工廠模式完整範例——電腦組件生產線
前言 抽象工廠模式提供介面,建立一系列「相關或相依」物件,無需指定具體類別。本文以「PC 系列」與「Mac 系列」電腦組件 (CPU、RAM) 為例,示範標準結
C# 設計模式實作:建造者模式完整範例——電腦組裝流程
前言 建造者模式將複雜物件的建構過程與其表示分離,使相同建構流程可產生不同表示。本文以「電腦組裝」為例,示範標準建造者模式結構:Product、Builder、
C# 抽象工廠模式三種實作演進:從 Switch 到反射再到註冊表
前言 抽象工廠模式提供「建立一系列相關物件的介面,無需指定具體類別」。本文以 IFruit 為例,展示三種實作演進:硬編碼 Switch → 參數化工廠方法 →
C# 泛型 new() 條件約束深度解析:編譯期檢查 vs 執行期反射
前言 where T : new() 是泛型型別參數條件約束之一,要求 T 必須有公用無參數建構子。許多開發者誤以為 new T() 在執行期等同於直接呼叫建構
C# 常見資料型別轉換實務:字串、數值、陣列與 StringBuilder 技巧
前言 型別轉換是日常開發高頻操作。本文彙整 C# 核心型別轉換語法、陣列切分、字串替換與 StringBuilder 高效能處理模式。 一、整數與字串互轉 i
C# 裝箱與拆箱深度解析:IL 層面觀察與效能優化
前言:為什麼需要裝箱/拆箱? CTS (Common Type System) 將型別分為值型別(繼承 ValueType:結構、列舉、基本型別)與參考型別(類
使用 C# Builder 開發螢幕保護程式:動態文字與圖形範例
前言 螢幕保護程式(.scr)本質為標準 Windows 執行檔,具備特定啟動參數慣例。本文示範以 C# Builder 建立全螢幕、滑鼠/鍵盤即刻結束、含跑馬
C# 呼叫 Win32 API 完整指南:P/Invoke、封送處理與最佳實務
前言 .NET Framework 提供平台呼叫服務,讓 managed 程式碼呼叫 unmanaged DLL(主要為 Win32 API)。本文彙整核心語法
C# 線程同步核心技術:Lock、Monitor、Mutex 與 EventWaitHandle 深度解析
多線程編程不可避免面臨同步問題。什麼是線程同步?簡單說:兩個主管同時讀取員工薪資 100,一個加 5 存回,另一個減 3 存回,結果變成 97 而非 102——
一鍵打造 Office 203 風格選單:C# 自訂元件完整實作
元件特色 單行程式碼套用 Office 2003 風格至所有主選單與右鍵選單 支援為選單項目動態加入圖示 提供 Start()/End() 切換風格,無需重新
CSC.exe 命令列編譯器完整指南:掌握 C# 專案建置細節
為什麼要認識 CSC.exe? Visual C# 編譯器不同於傳統編譯器直接產生機器碼,它將原始碼編譯為中繼語言 (IL) 檔案 (.exe/.dll),再由
Visual C# 資料庫存取實戰:從 Access 到 SQL Server 的完整指南
前言 Visual C# 作為微軟推出的新一代開發語言,緊密依賴 .NET Framework SDK 提供的豐富類別庫。其中 System.Data.OleD
C# WinForms 實戰:從零打造溫度轉換器 GUI
本文將帶你一步步完成一個攝氏/華氏溫度轉換小工具,親身體驗 C# GUI 開發全流程。閱讀前請確保具備 C# 與面向對象基礎;若想編譯執行,需安裝 .NET F
C# 進階教程(十一):C# 與 Java 核心差異實測
繼續上一講的對比,這次我用實際代碼驗證 C#(被戲稱為「Java#」)與 Java 到底差在哪。 最小化程式對比 分別建立 cs1.cs 和 cs1.java,
C# 進階教程(十):深入理解集合與 IEnumerable 模式
大家好,我是 SUNWEN。今天下午得知晚上要去當「更夫」,從晚 10:30 巡邏到早 6:00,學校這安排還真有意思。有個物理系朋友上次在田家炳樓門前找塊宣傳
C# 進階教程 (九):使用者定義型別轉換與結構實作
隱含 vs 顯性轉換 隱含:implicit operator,編譯器自動插入,無資料遺失風險 (如 int → long、Derived → Base)。