C# 命名管道實現進程間通訊(IPC)完整教學:跨語言、跨進程通訊實戰
前言:為什麼選擇命名管道? 當需要在同一台機器上實現多進程通訊(如 C# 與 C++、多個 C# 程式、服務與 GUI 應用程式)時,命名管道是 Windows
C# 使用 Excel COM 元件匯出資料完整實作指南
前言:為什麼選擇 Excel COM 自動化? 雖然現代有 ClosedXML、EPPlus、NPOI 等純 .NET 程式庫可操作 Excel,但在需要完整相
C# 3.0 新特性全面解析:var、Lambda、擴展方法與物件初始化器
引言:C# 3.0 帶來的革命性變化 C# 3.0(隨 .NET Framework 3.5 發布)引入了多項改變開發模式的核心特性,奠定了現代 C# 程式設計
C# 讀寫 INI 設定檔完整指南:使用 Windows API 實現配置管理
前言:為什麼需要操作 INI 檔案? 在 .NET Framework 早期版本中,類別庫並未內建讀寫 INI 檔案的功能。雖然現代應用多傾向使用 XML、JS
InfoPath 瀏覽器表單取得目前使用者:Application.User 與 SharePoint 整合
基本取得登入帳號 在 InfoPath 表單程式碼後置中,可直接透過 Application.User 取得目前使用者資訊: // 取得登入名稱 (不含網域)
.NET 多執行緒程式設計完整指南:從 Thread 到 Task、非同步模式與平行運算
核心類別與委派 Thread:受控執行緒,完整控制權,成本較高 (1MB 堆疊預設)。 ThreadPool:執行緒集區,重複使用執行緒,適合短小工作,透過
C# 常用日期、字串、轉換、IO 等核心 API 速查表
DateTime 日期時間操作 DateTime now = DateTime.Now; // 取得元件 int year = now.Year, month
C# String.PadLeft 完整指南:字串靠右對齊、補零與格式化實戰
方法簽章 // 多載 1:預設用空白字元靠右對齊 public string PadLeft(int totalWidth); // 多載 2:指定填補字元
.NET 常數欄位 const 深度解析:編譯期內嵌、版本陷阱與最佳實務
const 的本質:編譯期常值 當你宣告 public const int MaxCount = 100; 時,C# 編譯器會在編譯階段將所有引用此常數的 IL
C# 爬取銀行匯率網頁:Html 解析與資料擷取實作
需求背景 外貿公司需每日更新匯率,原有 Web Service 失效,改以網頁爬蟲方式從銀行公開網頁擷取匯率資料。本文示範使用 WebClient 下載 HTM
C# 3.0 新特性全解析:自動屬性、物件初始化、擴充方法與 Lambda
概述 C# 3.0 (Visual Studio 2008) 引入多項語法糖與函數式程式設計特性,極大提升開發效率與程式碼可讀性。本文將透過完整範例逐一解析四大
C# 模擬網域帳號登入:LogonUser API 完整實作
應用場景 當應用程式需要以特定網域使用者身分執行程式碼(如存取網域資源、模擬使用者權限)時,可透過 Windows API LogonUser 取得存取權杖,再
C# 跨執行緒存取 UI 控制項:Invoke 與 BeginInvoke 完整範例
問題背景 Windows Forms 控制項具有執行緒親和性,只能在建立它們的 UI 執行緒(主執行緒)上存取。若在背景執行緒直接操作控制項屬性或呼叫方法,會擲
C# int 與 IntPtr 互轉完整指南
前言 在進行平台呼叫或處理原生資源時,經常需要在 32 位元整數 int 與平台相關指標大小的 IntPtr 之間轉換。本文列出兩種常見轉換方式,並說明適用場景
C# 參考型別與實值型別:核心差異、記憶體模型與選擇指南
引言 C# 的型別系統分為實值型別與參考型別,這是理解記憶體行為、效能優化與避免 Bug 的基石。許多開發者能背誦分類清單(實值:結構、列舉、基本型別;參考:類
C# 型別轉換利器:as 與 is 運算子深度解析
前言 在 C# 中進行型別轉換時,as 和 is 是兩個極為常用且安全的運算子。它們都能避免拋出例外,但使用情境與效能略有不同。本文將透過規則說明與程式碼範例,
C# 逸出字元完整速查表:字串常值、逐字字串、常見編碼
標準逸出序列 逸出序列字元名稱Unicode說明 \單引號U+0027字元常值內 \雙引號U+0022字串常值內 \\反斜線U+005C路徑、Regex
C# 平台呼叫 (P/Invoke) 完整指南:Win32 API 簽章對應、封送處理、記憶體管理
P/Invoke 核心架構 Managed Code (C#) ↔ DllImport ↔ Unmanaged DLL (Win32 API / 自訂 C++