亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

調試時對象的屬性和字段的問題

調試時對象的屬性和字段的問題

不負相思意 2018-08-02 10:09:08
有一個類0。0有一個公共的A屬性(只有get方法,返回另一個類型的靜態實例的屬性[類型.靜態實例.屬性]),及一個公共的B字段(直接new 一個對象)。當實例化類型0時(直接new),查看實例化的o對象,看到B字段的各個屬性是null,這是正常的,因為沒賦值。但是看到對象A的各個屬性卻不為null。我奇怪的是不知道什么時候給A賦的值,在類0中給屬性A和字段B上打斷點,發現斷點可以執行到B字段,但是A屬性的斷點并沒有執行,所以奇怪怎么會看到A各個屬性的值?
查看完整描述

2 回答

?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

靜態字段如果沒有初始化語句,在程序剛開始的時候就會被初始化為默認值,整型0,布爾false,引用為null,我們知道程序有一個唯一的入口Main()函數,可以理解為在還沒有進入Main()函數的時候,靜態字段就已經初始化好了,而且確實也就是這樣,它一旦被初始化了就會一直存在,直到我們的應用程序結束了,這點不像實例字段,實例字段在實例一旦銷毀就不存在了,靜態字段以及靜態成員有一個特定的內存區(我理解為靜態內存區),這塊區域就像非托管資源一樣,不由我們的CLR管理,CLR的垃圾回收機制不會回收它,可以理解為它就像放在那一直被占用一樣,不是垃圾.

查看完整回答
反對 回復 2018-08-06
?
達令說

TA貢獻1821條經驗 獲得超6個贊

據說靜態類,靜態成員在初次使用之前會被CLR初始化,然后一直存在在內存里。

查看完整回答
反對 回復 2018-08-06
  • 2 回答
  • 0 關注
  • 418 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號