C# 值類型與引用類型轉換:裝箱與拆箱深度解析
在 C# 型別系統中,「值類型」與「引用類型」的轉換是核心基礎觀念,而「裝箱」與「拆箱」正是這兩者轉換的橋樑。理解其運作機制、效能影響與最佳實務,對撰寫高效能、
.NET 讀寫 Config AppSettings 完整教學
在 .NET 應用程式開發中,App.config 或 Web.config 的 appSettings 區段常被用來儲存應用程式層級的設定值,如資料庫連線字串
C# Spire.PDF 建立 PDF 表格並插入圖片完整教學
使用免費版 Spire.PDF 元件,示範程式化建立 PDF 表格、設定儲存格樣式、插入圖片至指定儲存格。 核心步驟 建立 PdfDocument、新增頁面
C# SharpCompress 非同步上傳解壓實作:純 .NET 方案替代 WinRAR
使用 SharpCompress.dll 實現無外部相依的解壓功能,適合非同步上傳後即時解壓情境。 核心程式碼 HttpPostedFileBase imgF
C# 呼叫 WinRAR 實現壓縮解壓:RAR/ZIP 格式、密碼、覆蓋模式完整支援
透過 Process 呼叫系統安裝的 WinRAR.exe,實現 RAR/ZIP 雙格式壓縮解壓,支援密碼、覆蓋控制、遞迴目錄。 解壓核心參數 // 解壓加密
C# System.Net 郵件發送完整實作:抄送、密送、附件、HTML 格式支援
.NET 2.0+ 內建 System.Net.Mail 提供完整郵件發送功能。本文提供生產級封裝類別 SendEmail,支援多收件人、CC/BCC、附件、H
C# 檢查 HTML div 標籤配對完整性:字串取代計數法
利用字串長度差異計算 `` 與 `` 出現次數,快速驗證標籤平衡。 核心演算法 public bool HoverTreeDivCheck(string ht
C# 位元組陣列截取技巧:BitConverter 與 LINQ 兩種模式
根據截取需求選擇適當方法:固定長度用 BitConverter,不規則長度用 LINQ。 固定長度截取 byte[] data = {0,1,2,3,4,5,
C# GetType() 與 typeof() 差異完整比較
兩者皆回傳 System.Type,但適用情境不同: 核心差異 特性typeof()GetType() 參數型別名稱(非變數)無參數(實例方法) 呼叫時機編
C# 多執行緒經典範例:生產者消費者模式的吃蘋果模擬
透過「爸爸媽媽削蘋果、三個孩子吃蘋果」情境,完整示範 C# 多執行緒同步、優先權、事件通知與 UI 更新機制。 情境規則 盤子容量 5 顆,爸爸媽媽不可同時
C# Dictionary 集合實戰:統計字串字母出現次數
問題描述 輸入一串字串(如 Welcome to China),統計每個英文字母出現次數,不區分大小寫。 核心思路:鍵值對映射 字母 → 次數,天然適合 Di
C# 設計 Windows 應用程式模板:從零打造專屬開發框架(上)
Windows 應用程式開發往往有著高度相似的起始流程:建立表單、配置選單與工具列、加入狀態列、註冊事件處理器……每次新專案都重複這些樣板式工作,不僅耗時且易出
C# ASP.NET 留言板實作:三層架構、資料繫結與存儲過程完整範例
系統架構:三層式設計 表現層:.aspx 頁面 + .aspx.cs 代碼隱藏 業務邏輯層:notepage.cs 實體類別,封裝 CRUD 方法 資料存取層
C# 開發 Windows Service 發送中文簡訊:Oxygen SMS ActiveX 整合實戰
專案背景與架構 目標:背景服務監控資料夾,偵測 .sms 檔 → 解析門號/內容 → 透過 Nokia 3210 (COM1) 發送中文簡訊。 關鍵元件:Ox
C# Socket 程式設計入門:從基本觀念到多執行緒聊天室完整實作
Socket 基本觀念 Socket 是網路通訊的端點,支援雙向資料交換。屬於特定通訊域(Address Family),常見: AddressFamily.
C# 實作簡易 P2P 檔案傳輸:TCP Listener/Client 與索引伺服器架構
P2P 架構核心概念 雖然純 P2P(如 Gnutella)無中央伺服器,但「混合式 P2P」引入索引伺服器: 索引伺服器不儲存檔案,僅登記:用戶資訊、IP、
C# 開發 SQL Server 擴展預存程序:從 COM 互通到 T-SQL 呼叫完整流程
什麼是擴展預存程序? 擴展預存程序(Extended Stored Procedure,XP)是運行在 SQL Server 進程空間內的 DLL,透過 Ope
C# 新增資料庫記錄實戰:Access 與 SQL Server 參數化寫入指南
核心流程:四步驟完成 Insert 建立並開啟 Connection 準備 參數化 SQL:INSERT INTO table (col1, col2) VA