回答
即:newobj,callvirt,呼叫
是,創建一個對象 - 基準是在堆棧上,並且由callvirt消耗(剩下的呼叫的方法的返回值)
不需要變量,雖然它與一個合法。
當然它會生成一個參考,一個Class
的實例必須存在才能調用Work
就可以了。只是沒有一個變量來持有它。
不確定你對堆棧的意思。
該堆棧包含地址值 – 2012-08-11 18:20:17
@RoyiNamir對不起,我不確定我明白你的意思。 – kprobst 2012-08-11 18:27:23
這將是參考。你的問題中的新課程。該值將在堆棧地址處指向該類的HEX值。因此,在.NET中,如果通過引用引用地址,則地址將存儲在堆棧中,以便當您要訪問它時,編譯器會找出哪個HEX值,然後從中獲取適當的對象(類,函數,任何東西)堆。
說這是一個「十六進制」值是誤導 - 數字只是一個整數。十六進制只是爲開發人員顯示地址的便捷方式 - 部分原因是因爲它們便於打破打字和閱讀的界限。計算機不會像「十六進制」那樣思考 – 2012-08-11 18:52:38
- 1. 增強:: flyweight做參考計數嗎?
- 2. LabVIEW持有Excel參考
- 3. spring-security 3.1支持spring-security-oauth(for oauth2)嗎?有參考嗎?
- 4. 作爲asp.net中web表單的參考內容持有者
- 5. 更新時無參考
- 6. C++無效參考問題
- 7. IS參考參考在C++?
- 8. C++參考shared_ptr vs參考
- 9. 堅持BroadcastReceiver參考
- 10. 保持javascript參考
- 11. 參考增量索引
- 12. ;你能重新分配參考嗎?
- 13. 是否有任何支持SREG或AX的所有OpenID提供者的參考?
- 14. C++參考和參考參數
- 15. 我們可以在C++中重新分配參考嗎?
- 16. 如何保持強有力的參考?
- 17. 如何支持具有參考
- 18. 可以參考嗎?
- 19. c + +參考
- 20. 參考在C++
- 21. 參考C++ dll
- 22. 參考用C
- 23. C++參考
- 24. 參考C#
- 25. C#Windows.Security.Cryptography.Core參考
- 26. VoIP C++參考
- 27. 參考var c#
- 28. C++參考
- 29. 參考頁C++
- 30. C++的參考
是的,當你調用新的ClassName()時,即使你沒有把它分配給任何東西,它也會返回一個引用,即使它以某種方式優化它而不實際返回引用,工作仍然可以訪問本地成員,或要求參考信息 – 2012-08-11 18:17:11
「堆棧中的值」是一個實現細節。 IOW你不需要知道這一點。如果你真的想知道在封面下發生了什麼,請檢查IL。 – 2012-08-11 18:19:34