CLR C 學習筆記

2022-06-11 07:03:10 字數 1568 閱讀 4711

1

using

system;

2using

system.collections.generic;

3using

system.linq;

4using

system.text;56

namespace727

catch

(exception e)

2832

33///

//////

//////

///34 int32 v = 5

;        //clr via c# p114頁 裝彩箱例子

35object o = v; //

生成的il** 中顯示 這步會 「v」裝箱 將引用指標儲存到「o」中---裝箱裝箱裝箱

36 v = 123; //

將"123"載入到v裡面,,這之後 會對「v」裝箱 且將指標保留在棧上以進行concat(連線)操作---裝箱裝箱裝箱

37//

接著將字串載入到棧上 以進行concat(連線)操作

38//

對「o」拆箱 獲取指標 指向棧上的 int32 字段

39//

對int32裝箱,將指標保留在棧上 以進行concat(連線)操作 ---裝箱裝箱裝箱

40 console.writeline(v + "

," + (int32)o); //

這個經歷了 3次的裝箱

4142

//////

//////

//////

4344 console.writeline();//

這屬於靜態方法 無需例項化 直接用

45object o1 = new

object

();46 o1.gethashcode();//

"public virtual int gethashcode();這當中的"virtual"虛方法標誌 ===抽象類中的 虛方法 我實現它 但是不呼叫它 要之後的來繼承他的來重寫覆蓋它

47 o1.gettype(); //

呼叫的是非虛例項方法

4849

console.readkey();50}

5152

int a = 100;53

object

x;54

55public

void

fun1()

5659

60public

void

fun2()

6166

6768

7071

//public static class astaticclass

72//

7778

//public static string astaticproper

7980

81//}82

83 }

底層執行機制CLR C

clr的執行模型 c 流程 1.將源 編譯成委託 2.將委託 合併成程式集 3.執行程式集 4.載入公共語言進行時 注 clr common language公共語言 clr是乙個可由多種程式語言使用的 執行時 clr的核心功能 e.g.記憶體管理 程式集載入 安全性 異常處理 執行緒同步等 可由面...

CLR C 的一些語言特性

1.new和override區別 override在子類中重寫基類的方法 new在子類中為基類同名 virtual 方法新增乙個新的版本,會保留基類的同名 virtual 方法。如果基類的同名方法不給出new和override修飾符,net預設採用new的方式,編譯時將產生一條警告資訊。關於過載 一...

《部落格園精華集》,CLR C 分冊徵求意見稿

anytao 緣起自 你必須知道的.net 出版以來,已經有乙個多月沒有和大家近距離的在這裡分享了,慚愧之餘,很高興收到 精華集編委會 的邀請通知,而且從dudu得知,精華集 算是的公益性活動。作為的忠實粉絲,我沒有任何理由拒絕這樣的邀請,欣然成為編委會的乙份子了。目前,我將和張子陽負責clr c ...