【NET】--基本常識
1、.NET框架核心組件及作用和.NET程序完整編譯過程圖?.netframework:
CLR:公共語言運行時:提供運行
FCL:框架類庫:提供開發
源代碼(.cs)---->中間碼(.exe)--JIT(即時編譯器)-->機器碼(0/1)
2、公共語言運行時(CLR)的兩個重要組件?及它們各自的作用?
CLR:在.net平台下
CTS:公共類型係統:將不同語言的數據類型進行統一化
CLS:公共語言規範:將不同語言的語法進行統一化
3、.NET數據類型中,值類型和引用類型分別有哪些?
值類型:int long double float boolean struct enum
引用類型:string 數組 類
4、值類型和引用類型分別存儲在內存的哪裏?各有什麼特點?
值類型:存放在內存的棧中:有次序存放數據 賦的是實際的值
引用類型:存放堆中,任意開辟空間 賦的是指向實際數據的地址
5、參數傳遞的方式有哪些?分別寫出各種方式的特點?
1、值方式傳遞值類型:傳遞的是實際的值
2、值方式傳遞引用類型:傳遞的是指向實際數據的是地址
3、引用方式(ref/out)傳遞值類型:實參和形參共用同一個棧區及共用同一個值
4、引用方式傳遞引用類型:實參和形參共用同一個棧區及共用同一個地址
6、什麼是裝箱與拆箱?及拆箱的特點?
裝箱:值類型轉換為引用類型
拆箱:引用類型轉換為值類型 需強製類型轉換成裝箱前的類型
7、靜態成員與實例成員的異同點?
靜態成員:static 隻能是類名調用
實例成員:隻能用對象調用
靜態方法:可以直接訪問本類的靜態成員 實例成員需創建對象
實例方法:可以直接訪問本類的靜態和實例成員
8、ArrayList、Hashtable、List<T>、Dictionary<KeyT, ValueT>它們各自的特點?(越全越好)
ArrayList:可以添加任何類型的值 Add(object) 會有裝箱 拆箱 數據會混亂 類型不安全 remove(值) removeAt(索引) clear()
Hashtable:同上 鍵值對存放數據 沒有索引 list[key] remove(key) foreach
List<T>:和ArrayList相似 不同是:類型安全 不需裝箱 拆箱
Dictionary<KeyT, ValueT>:類似Hashtable 類型安全 不需裝箱 拆箱 其他一樣
9、構造函數的特點?(至少5個)ZD
1、構造函數名必須和類名相同
2、構造函數沒有返回值類型
3、係統默認提供無參構造
4、如果手動添加構造函數、係統將不同無參構造
5、一個類中可以有多個構造 形成構造重載
6、一般構造函數訪問級別是public的
10、方法重載的規則?及跟返回值是否有關?跟訪問修飾符有關嗎?
在同一個類中 方法名相同 參數個數不同
如果個數相同那麼類型一定不同
跟 訪問級別 反返回值類型 參數名 方法體都沒有關係
跟傳遞的方式有關(ref/out)
最後更新:2017-04-03 14:54:06