C# Socket 實戰:局域網文件傳輸工具開發全記錄
背景:禁用 QQ 後的自救方案 公司禁用 QQ,文件傳輸只能靠 U 盤,效率極低。決定利用 Socket 開發一個輕量級 LAN 文件傳輸工具,模仿「飛鴿傳書」
C# 類型轉換核心:as、is 與強制轉換的抉擇
前言:強類型語言的轉換藝術 C# 是強類型語言,盡量避免類型轉換,但實戰中難免需跨類型操作。常見手段有三:as 操作符、C 風格強制轉型、is 測試後再轉換。本
菜鳥啟程:CLR via C# 深度探索之旅
前言:一個普通程序員的起點 學歷平平,職場起步於北京的一家金融軟件公司。大三時自學《C#入門經典》與《C#高級編程》,感謝室友「果爺」的耐心指點,讓我跨過了面向
C# 實作 Whois 域名查詢:雙階段查詢、終極伺服器列表、詳細資訊解析
Whois 協議 (TCP 43 埠) 可查詢域名註冊資訊。完整查詢需兩階段:先查詢終極 Whois 伺服器 (如 whois.internic.net) 取得
C# 自訂分頁控件實作:模仿 58 風格、支援自訂樣式與圖片
專案需求從第三方 AspNetPager.dll 遷移至自訂分頁控件,以掌控 HTML 結構、樣式與圖示。本文分享一個繼承 Literal 的輕量級分頁控件,支
C# 字串區間補全演算法:根據已知片段推導缺失區段
給定一個有序字串序列 (如 A-B-C-D-E-F-G-H-I-J) 與已知子區段 (如 A-D、G-H),推導出缺失的補全區段 (D-G、H-J)。本文提供通
C# 陣列排序與物件比較完全指南:IComparable、IComparer、Comparison 委派
排序是資料處理的基礎操作。C# 提供三種比較機制:IComparable<T> (內建比較)、IComparer<T> (外部比較器)、
C# 三大計時器深度比較:System.Windows.Forms.Timer vs System.Timers.Timer vs System.Threading.Timer
.NET 提供三種計時器,分別針對 UI、伺服器、背景執行緒場景設計。選錯計時器會導致 UI 凍結、計時不準、執行緒洩漏等問題。本文深度比較三者架構、特性與適用
C# 型別成員完整解析:靜態、實例、虛擬、抽象、常數
C# 型別可包含多種成員,各有不同的語意、存取方式與繼承行為。本文系統整理靜態、實例、虛擬、抽象、常數成員的定義、用法與關鍵差異。 靜態成員 使用 stati
C# 浮點數精度陷阱:為什麼 3.3 * 100 不等於 330
浮點數 (float/double) 採用 IEEE 754 二進制表示,許多十進制小數無法精確表示,導致經典的精度遺失問題。本文解析成因與正確處理方式。 問
C# 異常處理完全指南:using、try-catch-finally 與最佳實踐
穩健的軟體必須正確處理錯誤。C# 提供 using、try-catch-finally、throw 等機制,結合主動防禦與被動捕獲,構建可靠的異常處理體系。
C# 透過 WMI 操作遠端電腦:從連線到登錄表查詢實戰
WMI (Windows Management Instrumentation) 是 Windows 內建的管理基礎設施,允許透過標準化查詢語言 (WQL) 對
C# 記憶體管理基石:堆疊與堆積的運作機制
理解堆疊與堆積的差異,是掌握 C# 記憶體管理、效能優化與除錯的基礎。本文以直觀比喻與程式碼圖解,說明兩者的配置、存取與生命週期差異。 堆疊:像疊盒子的 LI
C# ref 與 out 參數深度解析:傳址呼叫的兩種契約
C# 預設採用傳值呼叫:方法接收的是引數副本,修改不影響原變數。ref 與 out 讓參數改為傳址呼叫,直接操作原變數記憶體位置。兩者核心差異在於初始化契約。
C# 類別記憶體配置時機:建構函式之前就已完成
許多開發者誤以為記憶體是在建構函式執行時配置。實際上,CLR 在呼叫建構函式前,已為物件配置好記憶體並將欄位初始化為預設值(0/null)。建構函式僅負責「初始
C# 透過 WMI 取得遠端電腦磁碟剩餘空間
在企業級應用中,常需監控遠端伺服器磁碟空間。本文示範使用 System.Management 命名空間透過 WMI 查詢遠端主機(支援需認證與無需認證的共享磁碟
C# 建構函式初始化順序深度解析:從基底類別到衍生類別
理解建構函式的執行順序對於正確設計繼承體系至關重要。本文透過實例與圖解,詳細說明 C# 物件實例化時,從 object 到最衍生類別的初始化鏈。 基礎範例:隱