9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
學習啦>知識大全>知識百科>百科知識>

.Net基礎知識點解答

時間: 若木632 分享

  .NET是 Microsoft XML Web services 平臺。XML Web services 允許應用程序通過 Internet 進行通訊和共享數據,而不管所采用的是哪種操作系統、設備或編程語言。Microsoft .NET 平臺提供創建 XML Web services 并將這些服務集成在一起之所需。對個人用戶的好處是無縫的、吸引人的體驗。

  1. 什么是.NET?什么是CLI?什么是CLR?IL是什么?JIT是什么,它是如何工作的?GC是什么,簡述一下GC的工作方式?

  通俗的講,.Net是微軟開發應用程序的一個平臺;

  CLI是Common Language Infrastructure,是公共語言架構;

  CLR是Common Language Runtime,即公共語言運行時;

  IL是.Net編譯器產生的中間代碼,稱為通用中間語言CIL(Common Intermediate Language),CIL常被稱為MSIL,即代表IL的微實現語言;

  JIT是以即時編譯Just In Time的方式編譯IL代碼,和Java的字節碼ByteCode對比來說,字節碼是解釋性編譯,而JIT是即時編譯,效率上會更勝一籌。

  除此之外,還有CTS 通用類型系統,Common Type System;CLS公共語言規范Common Language Specification;FCL .Net框架類庫Framework Class Library;

  引用《你必須知道的.Net》一書中的插圖做說明

  GC,垃圾回收器,Garbage Collection,負責執行內存的清理工作,GC通過對托管堆的管理,能有效的解決C++程序中類似于內存泄露、訪問不可達對象等問題。

  一個對象若沒有被其他任何對象引用,則該對象被認為是可以回收的對象;

  最好不要通過GC.Collect來強制執行垃圾回收;

  垃圾對象并非被立即執行內存清理,GC可以在任何時候執行垃圾收集。

  2. 類(class)和結構(struct)的區別是什么?它們對性能有影響嗎?.NET BCL里有哪些是類(結構),為什么它們不是結構(類)?在自定義類型時,您如何選擇是類還是結構?

  Class是引用類型,是非配在內存的托管堆上,能夠被實例化,屬于引用類型,類是引用傳遞的;

  而struct是值類型,分配在內存的棧上,結構體是復制傳遞的,如Int32、Boolean、DateTime都是結構體。

  頻繁大量使用引用類型需要GC回收處理,在某些情況下對性能會有影響。

  如果一個對象只有屬性、沒有方法的時候應該定義成struc,開銷會小一些;class適用于這個對象同時具有行為和屬性。

  3. 在.NET程序運行過程中,什么是堆,什么是棧?什么情況下會在堆(棧)上分配數據?它們有性能上的區別嗎?"結構"對象可能分配在堆上嗎?什么情況下會發生,有什么需要注意的嗎?

  棧是編譯期間就分配好的內存空間,因此代碼中必須就棧的大小有明確的定義,如局部類型變量、值類型參數等;

  堆是程序運行期間動態分配的內存空間,可以根據程序的運行情況確定要分配的堆內存的大小。

  性能上棧要比內存堆的開銷小一些,速度快;

  會,當一個類里面包含結構體對象的時候,struct會分配在堆上,值類型總是分配在它聲明的地方。

  4. 泛型的作用是什么?它有什么優勢?它對性能有影響嗎?它在執行時的行為是什么?.NET BCL中有哪些泛型類型?舉例說明平時編程中您定義的泛型類型。

  泛型類似于模板,有利于代碼重用;

  省去了拆箱、裝箱過程,性能上提升了很多;

  本質上來講,在IL初次編譯時泛型T只是作為類型占位符;

  BCL中實現了泛型接口的類都是反省類型,如List, Dictionary

  5. 異常的作用是什么?.NET BCL中有哪些常見的異常?在代碼中您是如何捕獲/處理異常的?在"catch (ex)"中,"throw"和"throw ex"有什么區別?您會如何設計異常的結構,什么情況下您會拋出異常?

  異常是系統容錯和規范程序的不可或缺的重要因素和手段。

  BCL中常見的異常有StackOverflowException、OutOfMemoryException、NullReferenceException、IndexOutOfRangeException、ArgumentException、DivideByZeroException等;

  捕獲異常使用try-catch-finally語句塊 ;

  "throw"和"throw ex"的區別是:推薦使用throw來拋出異常,因為throw ex會將上次異常清空,又拋出一個新的異常,不利于堆棧跟蹤錯誤源頭。

  6. List和T[]的區別是什么,平時你如何進行選擇?Dictionary是做什么的?.NET BCL中還有哪些常用的容器?它們分別是如何實現的(哪種數據結構)?分別是適用于哪些場景?

  List長度不固定,動態變化,支持方法較多;T[]固定大小的泛型數組。

  Dictionary是泛型字典,提供一對一的關系;

  .Net BCL中常用的集合有Stack、Queue、LinkedList,對應的數據結構是棧、隊列和鏈表。

  7. 抽象類和接口有什么區別?使用時有什么需要注意的嗎?如何選擇是定義一個"完全抽象"的抽象類,還是接口?什么是接口的"顯式實現"?為什么說它很重要?

  相同點:都不能被實例化,都可以通過繼承實現其抽象方法;

  不同點:接口支持多繼承,抽象類不能;接口只能定義行為,抽象類既可以定義行為,還能提供實現;接口只包含方法、屬性、索引器和事件的簽名,不能包括自定義字段和實現方法,抽象類可以包含自定義字段和實現方法。

  8. 字符串是引用類型類型還是結構類型?它和普通的引用類型相比有什么特別的地方嗎?使用字符串時有什么需要注意的地方?為什么說StringBuilder比較高效?在連接多個字符串時,它無論何時都比直接相加更高效嗎?

  字符串是特殊的引用類型。

  其特殊之處在于string是不可變的,即字符串恒定性(Immutability),字符串一經創建,就不可改變。

  當大量使用string進行拼接的時候,直接使用string+會影響效率,使用StringBuilder更為合適;

  不是的,對于簡單的字符串連接操作,在性能上StringBuilder不一定總是優于String,因為StringBuilder對象的創建代價比較大,在字符串連接目標較少的情況下,過度濫用StringBuilder會導致性能的浪費而非節約。只有大量的或者無法預知次數的字符串操作,才考慮以StringBuilder實現。

  9. 如何高效地進行數組復制?"二維數組"和"數組的數組"有什么區別?在使用雙重循環遍歷一個二維數組時,如何選擇內外層的遍歷順序?

  10. 什么是元編程,.NET有哪些元編程的手段和場景?什么是反射?能否舉一些反射的常用場景?有人說反射性能較差,您怎么看待這個問題?有什么辦法可以提高反射的性能嗎?

  元編程是對程序本身的編程,如反射;

  程序集包含模塊,模塊又包含類型,類型下有成員,反射就是管理程序集、模塊、類型的對象,它能夠動態的創建類,獲取現有對象的類型,能調用類型的方法和訪問類型的字段屬性。它是在程序運行時創建和使用類型的。

  11. 委托是什么?匿名方法是什么?在C# 3.0中,Lambda表達式是什么?擴展方法是什么?LINQ是什么?您覺得C# 3.0中還有哪些重要的特性,它們帶來了什么優勢?BCL中哪些類庫和這些特性有關?您平時最常用哪些?

  委托是指向函數的指針;匿名方法類似javascript中的匿名方法,無須聲明,直接使用;

  Lambda表達式函數式編程,LINQ表示語言集成查詢,為CLR提供了信息查詢能力。

  擴展方法,用this關鍵字標記擴展方法的第一個參數,且該參數不能為指針類型。

.Net基礎知識點解答

.NET是 Microsoft XML Web services 平臺。XML Web services 允許應用程序通過 Internet 進行通訊和共享數據,而不管所采用的是哪種操作系統、設備或編程語言。Microsoft .NET 平臺提供創建 XML Web services 并將這些服務集成在一起之
推薦度:
點擊下載文檔文檔為doc格式
84004 主站蜘蛛池模板: 亚洲av网一区天堂福利| 日韩有码中文字幕国产| 国产99在线 | 亚洲| 日韩内射美女人妻一区二区三区| 久久久久无码中| 国产偷国产偷亚洲高清日韩| 国产精品中文字幕自拍| 屁股中文字幕一二三四区人妻| 国产11一12周岁女毛片| 九九久久人妻一区精品色| 日韩人妻无码精品久久| 人妻少妇精品性色av蜜桃| 最新成免费人久久精品| 麻豆精品一区二区三区蜜桃| 激情综合色综合啪啪开心| 中文字幕国产精品日韩| 国产精品免费AⅤ片在线观看| 国内精品久久黄色三级乱| 亚洲国产精品无码一区二区三区 | 国内不卡一区二区三区| 亚洲永久视频| 精品国产一区二区三区久久女人| 国产精品伦人一久二久三久 | 亚洲av激情一区二区| 欧洲一区二区中文字幕| 亚洲不卡av不卡一区二区| 亚洲欧美日韩高清一区二区三区| 一亚洲一区二区中文字幕| 成人福利国产午夜AV免费不卡在线 | 国产成人综合色就色综合| 91精品国产福利尤物免费| 国产精品白浆在线观看免费 | 色九月亚洲综合网| 精品久久久久久无码中文字幕| 国产精品久久久久久福利69堂| 国产精品黄大片在线播放| 日韩乱码人妻无码中文字幕视频| 欧美在线精品一区二区三区| 国产精品毛片av999999| 色综合一本到久久亚洲91| 成人无码视频在线观看免费播放|