XNA Game Studio Express 開發教學(3):理解遊戲迴圈與 Screen 架構
遊戲迴圈核心 XNA 以 Game 類別封裝迴圈: static void Main() { using (var game = new Spacewa
XNA Game Studio Express 開發教學(5):3D 世界座標投影繪製 2D 護盾
從 3D 到 2D:座標投影詳解 Spacewar Evolved 是 3D 遊戲,但護盾是 2D Sprite。需在繪製前將飛船 3D 位置投影至 2D 螢幕
XNA Game Studio Express 開發教學(6):實作護盾特效與碰撞邏輯
繪製護盾 Sprite 在 Ship.Render 中加入護盾繪製邏輯: if (inShield && evolved) { var
XNA Game Studio Express 開發教學(7):Content Pipeline 自訂遊戲素材
XNA Framework Content Pipeline 簡介 Content Pipeline 將素材(圖片、模型、音效)的匯入、處理、編譯整合進 Vis
程式化管理 Windows 防火牆:允許/封鎖應用程式完整範例
應用場景 安裝程式或管理工具常需自動將應用程式加入 Windows 防火牆允許清單,或根據使用者設定啟用/停用規則。本文展示透過 NetFwTypeLib (C
Lambda 表達式入門:從委派演進到函數式語法
什麼是 Lambda 表達式? Lambda 表達式是 C# 3.0 引入的語法糖,為編寫匿名方法提供更簡潔、函數式的句法。其本質仍是委派,只是寫法更直觀。
GridView 儲存格合併擴充方法:核心演算法完整實作
演算法核心邏輯 合併原理:逐列掃描,比較當前列與後續列在指定欄位的值是否相同。相同則累計 RowSpan 計數並隱藏後續列儲存格;不同則中斷並移至下一組。 完
GridView 儲存格合併擴充方法:參數設計與 TemplateField 支援
參數設計理念:參考 ASP.NET Core Routing RowSpan 方法採用 object 參數,靈感來自 ASP.NET Core Routing
GridView 儲存格合併擴充方法:多欄位支援與鏈式呼叫
需求背景 在 GridView 顯示主從關聯資料(如同一學生多學期成績)時,常需合併相同值的儲存格以利閱讀。本篇擴充前兩篇的 RowSpan 方法,支援多欄位同
擴充方法實作:DataTable 與 List<T> 雙向轉換
前言 在資料存取層開發中,DataTable 與泛型集合 List<T> 互相轉換是常見需求。前一篇介紹了 DataTable 轉 List<
利用 IVsSingleFileGenerator 從 C# 程式碼產生擴充程式碼檔案
前言:為什麼需要從程式碼產生程式碼? 在 Visual Studio 擴充開發中,IVsSingleFileGenerator 介面是一項強大功能,它允許開發者
C# 程式碼產生器擴展(二):以介面屬性為範本生成實體類別
VsSingleFileGenerator 限制 主檔修改會重新產生附屬檔,導致無法手動擴充屬性(如加上驗證屬性 [NotNull]、[Length])。若擴充
Lambda 運算式演進:從 C# 2.0 匿名方法到 C# 3.0 Lambda 語法
C# 2.0 匿名方法 public delegate int Calculate(int a, int b); Calculate result = dele
善用匿名函數簡化快取存取模式(一):Lambda 宣告快取與資料來源委派
Lambda 直接建立快取實例 c.ShortNumber == (string)key).SingleOrDefault(); }); SmsDa
善用匿名函數簡化快取存取模式(二):ICache 介面與多種快取策略實作
介面定義 public interface ICache<TData> { TData Get(object key); void
與動態執行 C# 程式碼互通(二):解譯器內建變數儲存與索引存取
解譯器變數交互機制 規定變數名以 $ 開頭(如 $myblogname = https://...),解譯器內部以 SortedDictionary<st
動態執行 C# 代碼互動機制(3):Context 注入與 ObjectHelper 設計模式
修改 BuildFullCmd 注入 Context 參考 動態生成的類別新增 `Context` 欄位,方法簽名接受 `Context` 參數: privat
動態執行 C# 代碼互動機制(1):從零建構 C# 代碼解釋器
動態執行 C# 代碼的價值 互動式開發:輸入代碼即時編譯執行,如 REPL 環境 熱重載邏輯:外部腳本修改無需重啟主程式,下次執行自動生效 規則引擎基礎:業務