.NET學習--瞭解

来源:https://www.cnblogs.com/youny/archive/2019/10/16/11684751.html
-Advertisement-
Play Games

.NET和c#: .NET是一個框架,一般稱.net Framework。 c#是一個.NET框架下的編程語言。 縮寫: 程式集: CIL(Common Intermediate Language,公共中間語言):程式集里的執行代碼。其他術語:IL(Intermediate Language)和MS ...


.NET和c#

  .NET是一個框架,一般稱.net Framework。

  c#是一個.NET框架下的編程語言。

 

縮寫:

  程式集:

    CIL(Common Intermediate Language,公共中間語言):程式集里的執行代碼。其他術語:IL(Intermediate Language)和MSIL(Mircosoft Intermediate Language)。

    註:程式集中包含CIL、類型信息、安全信息。

 

  公用語言運行庫:

    CLR(Common Language Runtime,公用語言運行庫):是.NET的執行環境。包括:記憶體管理、異常處理、垃圾收集、反射服務、JIT編譯器、類載入器、安全服務。

    GC(Garbage Collector,垃圾收集器):是CLR中的一個服務,它能自動管理記憶體。

      a. GC自動從記憶體中刪除程式不再訪問的對象。

      b.釋放記憶體和檢查記憶體泄漏。

    JIT(Just-in-Time,即時編譯器):把程式集中的可執行代碼編譯成本機代碼。

    BCL(Base Class Library,基類庫):是.NET框架提供的一個基礎庫類。

 

  公共語言基礎結構:

    CLI(Common Language Infrastructure,公共語言基礎結構):是一組闡述了系統的架構,規則和約定的規範。

    CTS(Common Type System,公共類型系統):定義了那些在托管代碼中一定會使用的類型的特征。

    註:所有類型都繼承自公共的基類-object

    CLS(Common Language Specification,公共語言規範):詳細說明瞭一個.NET相容編程語言的規則,屬性和行為。

 

  其他:

    GAC(Global Assembly Cache,全局程式集緩存):作用是可以存放一些有很多程式都要用到的公共Assembly。

    托管代碼(managed code):為.NET框架編寫的代碼稱為托管代碼。

    非托管代碼:unsafe,不在CLR控制之下運行的代碼。

 

.NET框架組成

  編程工具,CLR,BCL

 

程式編譯和運行期過程:  

  編譯:源文件-->編譯器-->程式集

  運行:程式集-->CLR(JIT編譯器)-->本機代碼-->操作系統服務。

  註:程式集中的可執行代碼只有在被調用時才會編譯成本機代碼,而且只被編譯一次。

    


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在C#中,我們可以通過 a==b 的形式來判斷兩個引用是否相等。然而,在其系統中,相等判斷是根據行為的不同而得到不同的結果:一方面,預設的值類型採用值比較的方式來判斷相等性;另一方面,預設的引用類型通過判斷兩個引用是否引用同一個對象而判斷相等性。此外,在C#中,可以通過重載某些函數和邏輯來達到改寫相... ...
  • 快速響應矩陣碼(下) 書接上回,繼續下半場。 糾錯碼 QR 碼採用糾錯演算法生成一系列糾錯碼字,添加在數據碼字序列之後,使得符號可以在遇到損壞時可以恢復。這就是為什麼二維碼即使有殘缺也可以掃出來。沒有殘缺創造殘缺也要把它掃出來,相信大家見過很多中間帶圖標的二維碼吧。 糾錯碼字可以糾正兩種類型的錯誤,拒 ...
  • 問題: 就是一個字元串呀,一個字元串,裡面的話有一個空格,有可能有連續空格,你遇到連續空格,把這個連續空格變成一個空格,一個空格地不處理。 代碼: 效果: ...
  • 問題: 已知excel表格前面26個是a到z,27是aa28是ab,以此類推,N是多少 代碼: 效果: ...
  • 類: 類是一個能存儲數據並執行代碼的數據結構。 類是邏輯相關的數據和函數的封裝,通常代表現實中或概念上的事物。 類的關鍵字:class 類的主要成員類型有:欄位:方法。 欄位: 欄位是屬於類的變數。 預設修飾符為private。 每種類型的預設值都是0;bool型為false;引用類型為null。 ...
  • 使用Quqrtz.Net實現定時發送郵件,註意郵箱要開通Smtp服務 ...
  • public void WriteLog(string strLog) { string sFilePath = AppDomain.CurrentDomain.BaseDirectory + "Log"; string sFileName = DateTime.Now.ToString("yyyy ...
  • 在 windows server 2008 r2 版本操作系統上安裝 vs2017 經常出現下載進度條結束後沒有任何反應問題,一般是因為安裝程式相容性造成的,解決方案如下: 將 C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_i ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...