1.什么是 COM?
COM 代表組件對象模型。
COM 是微軟技術之一。使用這項技術,我們可以開發窗口應用程序以及Web應用程序。
在較早的 COM 中,VB 是用於實現 windows 應用程序的編程語言,ASP 用於實現 Web 應用程序。
2.COM有什么缺點?
COM 的主要缺點是
- 不完整的面向對象的編程意味着它不支持 OOP 的所有功能。
- 依賴於平台意味着 COM 應用程序只能在 Windows 操作系統上運行。
3.NET 代表什么?
NET 代表網絡啟用技術。
在 .NET 點 (.) 中是指面向對象,NET 是指互聯網。
因此,完整的 .NET 意味着通過面向對象,我們可以實現互聯網應用程序。
4.什么是框架?.NET 框架提供什么?
框架是軟件。或者我們可以說,框架是許多小型技術的集合,集成在一起,以開發可在任何地方執行的應用程序。
.NET 框架提供兩種功能,例如:
- BCL(基本類庫)
BCL基類庫由 Microsoft 設計。沒有 BCL,我們無法在 .NET 中編寫任何代碼,因此 BCL 也稱為 .NET 程序構建基塊。
當我們將 .NET 框架安裝到計算機中時,這些框架將安裝到計算機中。
BCL 的物理位置是 C\Windows\assembly
BCL 包含預定義的類,這些類用於應用程序開發。 - CLR(通用語言運行時)
解釋 CLR 及其執行過程。
CLR 是 .NET 框架下的核心組件,該框架負責將 MSIL 代碼轉換為本機代碼,然后執行。
在 .NET 中,代碼編譯兩次。
在第一步編譯源代碼由相應的語言編譯器編譯,中間代碼生成稱為 MSIL(微軟中間語言)或 IL(中間語言代碼)或托管代碼。
在第二步編譯時,MSIL 將使用 CLR 轉換為本機代碼。
始終第一步編譯速度慢, 第二部編譯是第一位的。
什么是 Jit?
- JIT 代表"及時"。
- JIT 是 CLR 的組件,負責將 MSIL 代碼轉換為本機代碼。
- 此本機代碼是操作系統直接可以理解的。
解釋不同類型的 .NET 框架。
.net 框架有三種不同類型: - .NET 框架:這是僅在 Windows 操作系統上運行 .NET 應用程序所需的常規版本。
- .NET Nono框架:如果我們想要在其他操作系統(如 Unix、Linux、MAC OS 等)上運行 .NET 應用程序,則需要這樣做。
- .NET Compact 框架:這在其他設備上(如移動電話和智能手機)運行 .NET 應用程序是必需的。
注意:MSIL 僅依賴於 CPU,並且僅使用 .NET 框架在 Windows 操作系統上運行,因為 .NET 框架僅為 Windows 操作系統而設計。
還有一家公司稱為"NOVEL",它設計了單獨的框架,稱為"MONO 框架"。使用此框架,我們可以在不同的操作系統上運行 MSIL,如 Linux、UNIX、Mac、BSD、OSX 等。
.NET 使用 .NET 框架依賴於平台,但使用 MONO 框架是獨立的。
什么不是.NET?
- .NET 不是操作系統。
- 它不是應用程序或包。
- .NET 不是數據庫。
- 它不是 ERP 應用程序。
- .NET 不是測試工具。
- 它不是編程語言。
究竟是什么.NET?
.NET 是一個框架工具,支持許多編程語言和許多技術。
什么是實時(JIT)編譯?
MSIL 是所有 .NET 語言編譯到的語言。它們使用這種中間語言后,在運行時使用來自應用程序的資源時,將發生一個名為"實時編譯"的進程。
什么是元數據?
元數據以多語言形式描述代碼中定義的每個類型和成員。元數據存儲以下信息。
- 程序集的說明。
- 標識(名稱、版本、區域性、公鑰)。
- 導出的類型
- 此程序集所依賴的其他程序集。
- 需要運行安全權限。
什么是程序集?
程序集是 .NET 框架應用程序的構建基塊;它們構成了部署、版本控制、重用和激活范圍和安全權限的基本單元。
托管代碼和非托管代碼之間有什么區別?
- 托管代碼/方法:
+ 機器說明采用 MSIL 格式,位於裝配體中將由 CLR 執行,具有以下優點
+ 內存管理,以防止程序代碼中的內存泄漏。
+ 線程執行
+ 代碼安全驗證
+ 編譯。 - 非托管代碼/方法:
+ 非托管代碼是針對特定平台的說明。非托管代碼將存在於任何格式中。
+ COM/COM® 組件
+ Win 32 Dlls/system DLLs
由於這些代碼采用本機操作系統格式,因此與 JIT 編譯和執行托管代碼相比,這些指令的執行速度更快。
什么是 C#?
C# 是一種面向對象的類型安全和管理語言,由.Net編譯,以生成 Microsoft 中間語言。
EXE 和 DLL 有什么區別?
EXE 是一個可執行文件,可以作為應用程序本身運行,而 DLL 通常由 EXE 或其他 DLL 使用,我們不能直接運行或執行 DLL。
例如,在 .NET 編譯控制台應用程序或 Windows 應用程序中,生成 EXE,而編譯類庫項目或ASP.NET Web 應用程序生成 DLL。在 .NET 框架中,EXE 和 DLL 都稱為程序集。
DLL 可以在應用程序中重用,而 exe 文件則永遠不能在應用程序中重用。
EXE 代表可執行文件,DLL 代表動態鏈接庫
IEnumable
和 List
有什么區別?
- IEnumable 是一個接口,而List是 IEnumable 的一個特定實現。列表是一個類。
- FOR-EACH 循環是遍歷可累積集合的唯一可能方法,而可以使用多種方式迭代列表。該列表也可以由 int 索引編制索引,元素可以添加到元素中刪除,並在特定索引中插入項。
- IEnumable不允許隨機訪問,而List允許使用積分索引進行隨機訪問。
- 一般來說,從性能的角度來看,通過IEnumable進行重復比通過列表進行重復要快得多。
為什么類是抽象數據類型?
類是抽象數據類型,因為它指定其中包含哪些數據成員和成員函數(方法),但不會提供有關如何實現這些函數的信息。這使得類抽象和類是用戶定義的數據類型。所以,它是一個抽象數據類型