New的幾個問題 詳解 --讀你必須知道的.NET筆記
New的幾個問題:
(1) new 一個class物件和new一個struct或者enum有什麼不同
(2) new 在.NET中有幾個用途
(3) new 運算子 ,可以過載嗎?
(4) 泛型中,new有什麼作用
(5) New 一個繼承下來的方法和override一個繼承方法有什麼區別
(6) Int I 和int i=new int() 有什麼不同
(1) 問題答案:
IL程式碼:
從IL程式碼中可以得到結論:
1. new 一個class時,new完成了以下2個方面的內容:一是呼叫newobj命令來為例項在託管堆中分配記憶體;二是呼叫建構函式來實現物件初始化
2. new 一個struct時,new運算子用於呼叫其建構函式,完成例項的初始化
3. new 一個int 時,new 運算子用於初始化其值為0
4. 當然值型別與引用型別的地址分配這裡就不說了
5. 這裡回答(3)問題 new運算子不可以過載
6. New 分配記憶體失敗,將引發outofmemoryexception異常
(2)問題答案:1.作為運算子,用於建立物件和呼叫建構函式
2.作為修飾符,用於向基類成員隱藏繼承成員
3.作為約束,用於泛型宣告中約束可能用作型別引數的引數型別
4.使用new實現多型
(4)問題答案:約束的作用,比如:class Test<T> where T:new()
(5)問題答案:new 用於實現建立一個新的成員,同時隱藏基類的同名成員;而override用於實現對基類成員的擴充套件
(6)問題答案:int I;只是宣告瞭一個變數,new 一個int 時,new 運算子用於初始化其值為0
思維導航:
由請喊我大龍哥最後編輯於:3年前
內容均為作者獨立觀點,不代表八零IT人立場,如涉及侵權,請及時告知。
相關文章
- is 和 as 讀你必須知道的.net 筆記筆記
- using 你知道多少?你必須知道的.NET讀書筆記筆記
- Const和Readonly大比拼讀你必須知道的.net讀書筆記筆記
- 這幾個python常用的庫你必須知道!Python
- LLM部署,你必須要知道的幾個技巧!
- 釋出新聞稿必須瞭解的幾個問題
- .Net Core 你必須知道的source-generators
- C#.NET 中你必須知道的反射C#反射
- 50個你必須瞭解的Kubernetes面試問題面試
- 【網路安全】你必須知道的幾個網路安全概念
- 你必須知道的 SmartSql !SQL
- 關於Mysql事務,你必須知道的幾個知識點!MySql
- 03.關於執行緒你必須知道的8個問題(中)執行緒
- 04.關於執行緒你必須知道的8個問題(下)執行緒
- JS高階之面試必須知道的幾個點JS面試
- 配音技巧 | 學配音必須要知道的幾個技巧
- 傳統生鮮配送企業必須要解決的幾個問題
- C陷阱和缺陷,必須知道的495個C語言問題C語言
- ?你必須知道的Java泛型Java泛型
- C語言中你必須知道的幾大排序演算法C語言排序演算法
- [C#.NET 拾遺補漏]04:你必須知道的反射C#反射
- 關於密碼測評,你必須瞭解的10個基本問題密碼
- 學習Kali Linux必須知道的幾點Linux
- 【必須知道的JavaScript庫】 - 解決95%問題的工具外掛/庫 - 1JavaScript
- 新手入門:入手MacBook 後必須知道的 幾 個小技巧?Mac
- 想要學習Python課程,這些問題你必須知道!Python
- 你必須知道的HTTP基本概念HTTP
- 你必須要知道的babel二三事Babel
- 【分享】Postman介面測試實戰分享,這5個問題你必須得知道!Postman
- 面試必問的8個CSS響應式單位,你知道幾個?面試CSS
- 檔案管理,你必須要知道的三個要點
- Python常用的開源框架,這三個你必須知道!Python框架
- Python 這10個字典操作你必須知道Python
- 5G大規模商用來臨之前,你必須知道的幾個知識點
- 3款你必須知道的爬蟲工具爬蟲
- 函式你必須知道的三種角色?函式
- 敲黑板:InnoDB的Double Write,你必須知道
- 你必須知道的Java基礎知識Java