C# unsafe 不安全代碼入門:指標運算、fixed 關鍵字、編譯選項與實戰範例
為什麼需要 unsafe? .NET 預設型別安全,禁止指標運算。但在高效能影像處理、互通非託管 DLL、記憶體映射檔等場景,指標能避免陣列邊界檢查、減少複製、
C# Email 驗證雙重保障:Regex 格式檢查 + SMTP 連線驗證信箱真實存在
第一層:Regex 格式驗證(毫秒級,離線可用) public static bool IsValidFormat(string email) { i
C# 域名解析 IP 實作:Dns.GetHostEntry 同步/非同步用法與例外處理
同步版(.NET Framework / .NET Core 通用) public string ResolveIp(string domain) {
C# 滑鼠控制全攻略:限制移動範圍、左右鍵互換、顯示/隱藏、雙擊速度設定
核心 API 簽名 [DllImport(user32.dll)] public static extern int ClipCursor(ref RECT
C# FontDialog 字型對話框完整應用:屬性、事件與 RichTextBox 字體套用實戰
常用屬性速查表 屬性功能建議值 ShowColor顯示顏色下拉選單true AllowScriptChange允許切換字元集(中文/日文等)tru
C# 實現文字跑馬燈效果:Label + Timer 左右/上下滾動完整範例
核心原理 利用 Timer 定期修改 Label.Left / Top 座標,配合邊界檢查實現循環滾動。關鍵在於「步長」與「間隔」的平衡:步長太大會閃爍,間隔太
C# 拖放功能完整指南:DoDragDrop 方法與五大核心事件深度解析
一、啟動拖放:DoDragDrop 方法 public DragDropEffects DoDragDrop(object data, DragDropEff
C# 算術表達式求值器:逆波蘭表示法 (RPN) 完整實作與負號預處理技巧
核心演算法:中綴 → 後綴 (RPN) → 堆疊求值 詞法掃描:保留數字、小數點、運算子 +-*/%^!、括號,其餘捨棄。 負號預處理:將一元負號(行
C# 下載器實現:WebClient 簡易用法與 Socket 底層通訊詳解
高層 API:WebClient 一鍵下載 適用於簡單 GET/POST、小文件、無需精細控制的場景。 using (var client = new WebC
C# 反射實戰:動態加載程序集、屬性讀寫、方法調用、DataTable 轉實體
反射核心場景 反射讓代碼在運行時檢查、操作類型。典型應用:插件系統、ORM 映射、配置驅動、序列化框架。 核心封裝類:ObjectLoader public
LINQ 入門:從集合操作演進看語言集成查詢的威力
三個時代的集合操作對比 .NET 1.x:ArrayList + 裝箱/拆箱 + 無類型安全 ArrayList list = new ArrayList()
.NET 3.5/C# 3.0 新特性全景回顧:自動屬性、var、匿名類型、Lambda、擴展方法
語言版本與運行時關係 C# 3.0 / .NET 3.5 運行在 CLR 2.0 上。所有新特性均為**編譯器語法糖**,IL 層面無變化。`clrver` 仍
LINQ 語法結構與核心程序集:從語法糖到標準查詢運算子
LINQ 查詢表達式結構圖解 查詢表達式由 from、where、orderby、select 等子句組成,編譯器將其翻譯為標準查詢運算子 (擴展方法) 調用。
LINQ 投影、篩選與排序:Select、SelectMany、Distinct、分頁、OrderBy
Select:投影與轉型 Select 子句決定輸出形狀:可返回原對象、屬性、新對象、匿名類型、方法調用結果。 // 只取姓名 var names = from
LINQ 集合操作全解析:聚合、合併、自定義 Aggregate
聚合操作:Count、Sum、Min、Max、Average 4 的數量 int count = students.Count(s => s.Name.
LINQ 分組與連接完全指南:GroupBy、Join、GroupJoin、左外連接、笛卡爾積
數據源準備 class Student { public int Id; public string Name; } class Course { publi
LINQ 進階:延遲執行機制與非泛型集合查詢
延遲執行:LINQ 的核心設計 LINQ 查詢定義時不執行,只有在迭代結果 (foreach、ToList、Count 等) 時才真正計算。這帶來兩大優勢:
C# 實用技巧合集:枚舉解析、動態委托、匿名方法、索引器、Hashtable 迭代
前言 有些 C# 特性平時用得少,但關鍵時刻能寫出極其優雅的代碼。本文整理 5 個易被遺忘卻極具實戰價值的技巧。 1. Enum.Parse:字串直接轉枚舉值