C# 類別與介面、虛擬方法與抽象方法、值類型與參考類型 差異總覽
本文系統整理 C# 核心型別系統與多型機制的關鍵概念差異,適合面試複習、架構設計參考與教學大綱。 1. 類別 vs 介面 維度類別介面 目的實作與狀態封裝定
C# Math.Round 銀行家四捨五入 (Banker's Rounding) 行為與解決方案
Math.Round 預設使用 銀行家四捨五入 (Bankers Rounding, MidpointRounding.ToEven):.5 時向最鄰近的偶數進
C# 常用加密演算法標準庫實作:DES、SHA1、RSA 完整範例
.NET Framework 內建完整的加密服務提供者(CSP),無需自行實作演算法。本文整理 對稱加密 DES、雜湊 SHA1、非對稱加密 RSA 三種最常見
C# WinForm 控制項隨表單縮放自動調整大小與位置 (Anchor/Dock 替代方案)
WinForm 內建 Anchor、Dock、TableLayoutPanel、FlowLayoutPanel 等佈局機制,大多數情況已足夠。但若需「所有控制項
C# 動態呼叫 Windows DLL (P/Invoke 進階:Run-time 動態載入與 IL 發射)
一般 P/Invoke 使用 [DllImport] 靜態宣告,但若 DLL 路徑、函數名稱在執行期才決定,或需呼叫非標準呼叫慣例的函數,可使用 LoadLib
C# 圖片檔案與位元組陣列/資料流雙向轉換完整範例
在資料庫儲存圖片(`varbinary`/`BLOB`)、網路傳輸、快取等場景,常需在 Image、byte[]、Stream、檔案之間轉換。本文提供三個核心方
C# 使用 OleDb 取得 Excel 檔案資料表結構(欄位名稱、型別)
需在不開啟 Excel 應用程式的情況下,讀取 `.xls`/`.xlsx` 檔案的資料表名稱與欄位結構。本文示範使用 OleDbConnection.GetO
C# 淺拷貝與深拷貝完整解析:MemberwiseClone、ICloneable 與序列化實作
物件複製是 C# 開發常見需求,但「淺拷貝」與「深拷貝」的行為差異常導致難以除錯的 Bug。本文從記憶體模型(堆疊 vs 堆積)切入,詳細解析 Memberwi
C# 從 Byte 陣列建立 256 階灰階 Bitmap 影像
在影像處理、掃描儀驅動、醫療影像等場景,常需將原始灰階像素資料(byte[],每像素 1 byte,0-255)轉為標準 Bitmap 物件。本文提供完整實作,
C# 重導向 Windows 主控台程式輸出至 WinForm 介面
需在 WinForm 應用程式中啟動主控台程式(如 ipconfig、ping、Oracle exp 等),並即時將其標準輸出顯示於介面上。本文提供完整範例,使
C# DataSet 與 DataTable 完整操作指南:建立、查詢、修改、驗證與 XML 互轉
DataSet 與 DataTable 是 ADO.NET 離線資料架構的核心,支援多資料表、關聯、條件約束、資料檢視與 XML 序列化。本文系統整理從建立結構
C# 利用擴展方法實現介面多重繼承效果
C# 不支援類別多重繼承,但可透過「介面 + 擴展方法」組合,達到類似多重繼承的程式碼復用效果。本文說明核心概念、完整範例,並分享作者從 Entity Fram
C# using 關鍵字三大用法全解析:命名空間、別名、資源釋放
using 是 C# 中最常見卻常被誤解的關鍵字,實際上有三種截然不同的用途:引入命名空間、建立型別別名、定義資源釋放範圍。本文逐一說明語法、適用場景與最佳實踐
C# 抽象類別、密封類別與類別成員完整解析
本文系統整理 C# 中 abstract(抽象)、sealed(密封)修飾詞在類別與成員上的用法、限制與最佳實踐,並對比虛擬方法與抽象方法的異同,幫助開發者正確
Microsoft C# 編譯器與 Mono C# 編譯器產出 IL 代碼差異分析
本文透過同一份 C# 程式碼分別在 Windows(Microsoft CSC)與 Linux(Mono GMCS)編譯,並使用 ildasm 反組譯比較產出的
ASP.NET 反射 App_Code 目錄下的類別與方法
ASP.NET 網站專案中,App_Code 目錄下的程式碼會動態編譯成獨立組件,組件名稱為 __code 或 app_code。本文示範如何透過 Assemb
log4net 在 WinForm 專案中的封裝與配置檔路徑解決方案
在 WinForm 專案中引入 log4net 並將其封裝為共用類庫時,常遇到配置檔路徑導致監聽器無法啟動的問題。本文記錄從絕對路徑、複製到輸出目錄,到最終正確