值類型與引用類型(中):通用規則、字串特殊性、裝箱拆箱、判等與轉換全解析
承接[上集](第八回),本文從語言規則、特殊類型、核心機制三維度,系統整理值/引用類型的比較規則、應用場景與易錯陷阱。 通用規則對照表 特性值類型引
值類型與引用類型(下):實戰剖析——定義、實例化、傳遞、判等、GC 全流程
系列最終回,以完整範例程式碼,從 IL、記憶體、執行行為三維度,全方位剖析值類型 (struct) 與引用類型 (class) 的核心差異。 範例類別定義
參數傳遞藝術(上):按值/按引用本質、params、值類型傳遞機制
參數是方法間資料交換的橋樑。本文從基礎概念切入,系統闡述 C# 參數傳遞的四大核心機制:按值、按引用 (ref/out)、參數陣列 (params)、泛型類型參
參數傳遞藝術(下):引用類型按值/按引用、ref/out 深度解析
承接[上集](第十一回),本文聚焦引用類型參數傳遞的微妙差異、ref/out 本質比較、以及字串類型的特殊行為成因。 引用類型按值傳遞:傳的是「引用的副本」
[你必須知道的.NET]第十三回:從 Hello, world 開始認識 IL
本文介紹內容 IL 代碼分析方法 Hello, world 歷史 .NET 學習方法論 1. 引言 1988 年 Kernighan 與 Ritchie
[你必須知道的.NET]第十四回:認識 IL 代碼——從開始到現在
本文介紹內容 IL 代碼分析方法 IL 指令解析 .NET 學習方法論 1. 引言 系列開篇以來受關注支持,發現許多園友關注如何理解 IL 代碼。這是好現
[你必須知道的.NET]第十六回:深入淺出關鍵字——using 全接觸
本文介紹內容 using 指令的多種用法 using 敘述在 Dispose 模式中的應用 1. 引言 .NET 關鍵字常身兼數職。如 new 除建立物件
[你必須知道的.NET]第十七回:貌合神離——覆寫與重載
本文介紹內容 什麼是覆寫,什麼是重載 覆寫與重載的區別 覆寫與重載在多態特性中的應用 1. 引言 覆寫(override)與重載(overload),是成
[你必須知道的.NET]第十八回:物件建立始末(上)
本文介紹內容 物件建立過程 記憶體配置分析 記憶體配置研究 1. 引言 了解 .NET 記憶體管理機制,首先從記憶體配置開始——即物件建立環節。物件建立是
[你必須知道的.NET]第十九回:物件建立始末(下)
本文介紹內容 物件建立過程 記憶體配置分析 記憶體配置研究 接上回《第十八回:物件建立始末(上)》,繼續探討物件建立話題。 2.2 受控堆疊的記憶體配置機
[你必須知道的.NET]第二十回:學習方法論
說在開篇之前 本文源自我回覆剛畢業朋友關於 .NET 學習疑惑的郵件。 原計劃放在《你必須知道的.NET》後記,因故未能如願,算是補上遺憾。 作為系列第 20
[你必須知道的.NET]第二十一回:認識全面的 null
1. 從什麼是 null 開始? null,一個值得尊敬的資料標識。一般來說,null 表示空型別,也就是「什麼都沒有」,但「什麼都沒有」不代表「什麼都不是」。
[你必須知道的.NET]第二十二回:字串駐留(上)—帶著問題思考
走鋼絲的人,在刺激中體驗快感。帶著問題思考,在問題上迸發火花。 或許給問題以答案,或許給答案以問題,你可能永遠無法看清全部,但總能從一點突破許多。事實的關鍵在於
[你必須知道的.NET]第二十三回:品味細節,深入 .NET 型別建構器
引言 在 Artech 大大的文章《關於 Type Initializer 和 BeforeFieldInit 的問題,看看大家能否給出正確的解釋》中,我們看到
認識元數據與 IL(上):PE 結構、模組與組件、ILDasm 實戰入門
系列首篇,從 C# 編譯輸出的 PE 檔案結構切入,建立「原始碼 → 模組 → 組件 → 執行檔」的完整認知,並實操 ILDasm 反編譯工具。 編譯輸出兩大
認識元數據與 IL(中):元數據表結構、堆與 IL 指令集詳解
承接[上集](第二十四回),本文系統梳理 CLR 元數據的 44 張標準表、6 大堆結構,以及 IL 指令集特性與 Metadata Token 參考機制。
認識元數據與 IL(下):JIT 編譯時的角色與運作機制
承接[上集](第二十四回)與[中集](第二十五回),本文深入 JIT 編譯階段,揭示元數據與 IL 如何協同驅動程式執行。核心流程:類別載入 → 方法表建立 →