[你必須知道的.NET] 第十回:品味類型---值類型與引用類型(下)-應用征途

作者: Anytao  來源: 博客園  發布時間: 2008-09-12 12:26  閱讀: 3098 次  推薦: 1   原文鏈接   [收藏]  
 
[1] [你必須知道的.NET] 第十回:品味類型---值類型與引用類型(下)-應用征途
[2] [你必須知道的.NET] 第十回:品味類型---值類型與引用類型(下)-應用征途

系列文章導航:

[你必須知道的.NET] 開篇有益

[你必須知道的.NET] 第一回:恩怨情仇:is和as

[你必須知道的.NET] 第二回:對抽象編程:接口和抽象類

[你必須知道的.NET] 第三回:歷史糾葛:特性和屬性

[你必須知道的.NET] 第四回:后來居上:class和struct

[你必須知道的.NET] 第五回:深入淺出關鍵字---把new說透

[你必須知道的.NET] 第六回:深入淺出關鍵字---base和this

[你必須知道的.NET] 第七回:品味類型---從通用類型系統開始

[你必須知道的.NET] 第八回:品味類型---值類型與引用類型(上)-內存有理

[你必須知道的.NET] 第九回:品味類型---值類型與引用類型(中)-規則無邊

[你必須知道的.NET] 第十回:品味類型---值類型與引用類型(下)-應用征途

[你必須知道的.NET] 第十一回:參數之惑---傳遞的藝術(上)

[你必須知道的.NET] 第十二回:參數之惑---傳遞的藝術(下)

[你必須知道的.NET] 第十三回:從Hello, world開始認識IL

[你必須知道的.NET] 第十四回:認識IL代碼---從開始到現在

[你必須知道的.NET] 第十五回:繼承本質論

[你必須知道的.NET] 第十六回:深入淺出關鍵字---using全接觸

[你必須知道的.NET] 第十七回:貌合神離:覆寫和重載

[你必須知道的.NET] 第十八回:對象創建始末(上)

[你必須知道的.NET] 第十九回:對象創建始末(下)

[你必須知道的.NET]第二十回:學習方法論

[你必須知道的.NET]第二十一回:認識全面的null

[你必須知道的.NET]第二十二回:字符串駐留(上)---帶著問題思考

[你必須知道的.NET]第三十二回,深入.NET 4.0之,Tuple一二

 

  本文將介紹以下內容:

  • 類型的基本概念

  • 值類型深入

  • 引用類型深入

  • 值類型與引用類型的比較及應用 

  1. 引言

  值類型與引用類型的話題經過了兩個回合([第八回:品味類型---值類型與引用類型(上)-內存有理]和[第九回:品味類型---值類型與引用類型(中)-規則無邊])的討論和切磋,我們就基本的理解層面來說已經差不多了,但是對這一部分的進一步把握和更深刻的理解還要繼續和深化,因為我自己就在兩篇發布之際,我就得到裝配腦袋兄的不倦指導,之后又查閱了很多的資料發現類型在.NET或者說語言基礎中何其重要的內涵和深度,因此關于這個話題的討論還沒有停止,以后我將繼續分享自己的所得與所感。

  不過作為一個階段,本文將值類型和引用類型的討論從應用示例角度來進一步做以延伸,可以看作是對前兩回的補充性探討。我們從類型定義、實例創建、參數傳遞、類型判等、垃圾回收等幾個方面來簡要的對上兩回的內容做以剖析,并以一定的IL語言和內存機制來說明,期望進一步加深我們的理解和分析。 

  2. 以代碼剖析

  下面,我們以一個經典的值類型和引用類型對比的示例來剖析,其區別和實質。在剖析的過程中,我們主要以執行分析(主要是代碼注釋)、內存分析(主要是圖例說明)和IL分析(主要是IL代碼簡析)三個方面來逐知識點解析,最后再做以總結描述,這樣就可以有更深的理解。

  2.1 類型定義

  定義簡單的值類型MyStruct和引用類型MyClass,在后面的示例中將逐漸完善,完整的代碼可以點擊下載[類型示例代碼]。我們的討論現在開始,

  • 代碼演示

定義值類型
定義引用類型

 

  • IL分析

  分析IL代碼可知,靜態方法.ctor用來表示實現構造方法的定義,其中該段IL代碼表示將0賦給字段_myNo。

  2.2 創建實例、初始化及賦值

  接下來,我們完成實例創建和初始化,和簡單的賦值操作,然后在內存和IL分析中發現其實質。

• 代碼演示

創建實例、初始化及賦值

• 內存實況

 

  首先是值類型和引用類型的定義,這是一切面向對象的開始,

然后是初始化過程,

簡單的賦值和拷貝,是最基本的內存操作,不妨看看,

[第1頁][第2頁]
1
0
 
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()