C# 3.0 集合初始化器與物件初始化器:語法、IL 原理與實務應用
前言 C# 3.0 引入物件初始化器與集合初始化器,讓物件建立與賦值合而為一,大幅減少樣板程式碼。本文解析語法規則、編譯器降級後的 IL 邏輯,並示範巢狀初始化
C# 方法設計與除錯實務:從邏輯開發到 Visual Studio 單步偵錯
前言 方法是程式碼重複使用與結構化的基本單位。本文以顧問費用計算為例,示範如何從需求拆解邏輯、使用「產生方法存根」功能快速建立架構、實作細節、重構,並以 Vis
C# 開發 Windows Service 監控系統啟動/關機時間
前言 Windows 服務在背景長期執行、無需使用者互動,適合記錄系統啟動、關機時間等監控需求。本文示範以 C# 建立 Windows Service,將啟動/
C# 布林運算子完整指南:邏輯、關係、短路求值與優先序
前言 布林運算子是控制流程、條件判斷的核心。C# 提供豐富的運算子:邏輯非(!)、關係(<, >, ==, !=)、條件邏輯(&&, ||),並具備
C# switch 陳述式完整教學:語法、規則與最佳實務
前言 當多個 if-else 針對同一運算式比較不同常數值時,switch 陳述式提供更清晰、效能更佳的替代方案。本文涵蓋語法、規則、貫穿限制、模式比對(C#
C# WebForms:正確返回上一頁的 JavaScript 技巧
問題背景 在 ASP.NET WebForms 中,按鈕點擊觸發 PostBack 後,頁面實際上已「重新整理」一次。若在伺服器端註冊 history.go(-
C# 3.0 新特性:隱式類型區域變數 var 完整指南
前言 C# 3.0(Visual Studio 2008 / .NET Framework 3.5)引入 var 關鍵字,允許編譯器根據初始化運算式推斷區域變數
C# 截取中英混合字串:依位元組長度保留完整字元
問題描述 在文章列表、摘要顯示等情境中,常需截取指定長度的字串並附加「...」。挑戰在於:中文字元佔 2 個位元組(UTF-8 下為 3 位元組),英文佔 1
C# 實作 HTTP 多線程檔案下載與斷點續傳
前言 多線程下載工具(如網路螞蟻、IDM)之所以快,核心在於多線程分段下載與斷點續傳。本文將以 C# 為例,示範如何使用 HttpWebRequest/Http
C# 取得 CPU 序號、硬碟 ID、網卡 MAC 位址
前言 在軟體授權、資產管理或硬體綁定場景中,常需要讀取電腦的唯一硬體識別碼。C# 透過 System.Management 命名空間的 WMI(Windows
自動化網頁表單填寫:以 Gmail 登入為例(JScript + WSH)
技術架構:Windows Script Host + Internet Explorer 自動化 此技術使用 JScript 搭配 WSH (Windows S
C# WinForms 拖放功能實作:三步驟完成 ListBox 項目移動
拖放操作核心三步驟 啟動拖放:來源控制項 MouseDown 事件中呼叫 DoDragDrop() 設定拖放效果:目標控制項 DragEnte
C# 多線程:跨線程透過事件委托封送調用方法
前言 在開發 Windows Forms 應用程式時,經常會遇到背景執行緒需要更新 UI 控制項的情況。由於 Windows Forms 控制項並非執行緒安全,
C# 操作 Active Directory 完整指南:用戶與 OU 的增刪改查
前置知識:AD 結構與權限 Active Directory (AD) 採用階層結構:網域 (Domain) → 組織單位 (OU) → 用戶/群組/電腦。所有
C# 動態呼叫 Native DLL 匯出函式:Marshal.GetDelegateForFunctionPointer 實戰
從 C++ 到 C#:動態載入 DLL 的演進 在 C++ 中,我們習慣使用 LoadLibrary、GetProcAddress 組合動態載入 DLL 並取得
為 TreeView 控制項新增背景圖片:自訂繪圖完整實作
問題背景:TreeView 不觸發 Paint 事件 .NET Framework 的 TreeView 與 ListView 只是 Win32 通用控制項的簡
C# 委派與事件完整指南:從宣告到實作
核心概念:委派是事件的基石 在 C# 中,事件機制建立在委派之上。若要為類別建構事件,必須先使用 delegate 關鍵字定義一個委派類型,再以 event 關
C# 物件導向程式設計核心觀念:一切皆物件、識別物件與 UML 思維
C# 是純粹的物件導向語言 連基本型別(int、double、bool)皆為 System.Object 衍生型別。 不存在游離於物件之外的程序式程式