程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#點滴--幾個基本概念

C#點滴--幾個基本概念

編輯:C#入門知識

1. CLR – Common Language Runtime   為.NET應用程序提供運行環境。定位、加載和管理.NET類型,同時也負責一些底層細節的工作,如內存管理、創建應用程序域、線程和對象上下文邊界,安全檢查等等。   2. CTS – Common Type System   完整描述了運行庫所支持的所有可能的數據類型和編程結構,指定了這些實體之間如何交互,也規定了它們在.NET元數據格式中的表示。   CTS包括5種基本類型:class, interface, enum, delegate and struct   CTS可能的成員:構造器,終結器,靜態構造函數,嵌套類型,運算符,方法,屬性,索引器,字段,只讀字段,常量,事件   3. CLS – Common Language Specification   定義了一個讓所有.NET語言都支持的公共類型和編程結構的子集。這個可以說是所有語言特性的一個子集,而CTS是所有語言特性的一個合集。   CLS定義了一套規則,當程序完全遵守這套規則時,才能確保你的程序能被所有其它.NET語言正確調用。可以通過特性[assembly: System.CLSCompliant(true)]來進行CLS規則驗證。   4. BCL - Basic Class Library   所有.NET語言都可以調用的一套公共類庫,封裝了很多最基本的類型和服務。   5. Managed/Unmanaged code   運行在CLR中的代碼叫做managed code,反之稱為unmanaged code。   6. C#的優點   不需要指針 自動管理內存 - 垃圾回收機制 面向對象語言 操作符重載 支持Attribute 泛型編程更安全 匿名函數的支持 簡化的委托/事件模型 partial class 3.5支持的特性有:   LINQ 匿名類型的支持 擴展方法來擴展現有類型 Lambda語法 新的初始化對象語法 7. IL, CIL或者MSIL   中間語言,或者成為公共中間語言。所有的.NET語言代碼編譯後都轉換為中間語言。目的是為了支持多語言。   8. 程序集內容   主要包含了編譯過的IL指令集、類型metadata和manifest(程序集本身的metadata)。類型metadata的作用主要是反射、對象序列化、晚期綁定、wcf以及vs的智能感知等等。manifest除了記錄本程序集的版本、模塊號之外,它還記錄了讓程序集正常運轉的外部程序集信息。   9. JIT - just in time   即時編譯器。程序運行是嘗試編譯IL指令,生成機器可識別的機器碼,並保存編譯結果。下次調用相同代碼時不需要重新編譯。   10. namespace   簡單說就是對.NET類型的分組機制。我們最常用到的系統namespace有System.Data, System.IO等等。除了System打頭的命名空間,最有用的還有以Microsoft開頭的命名空間,包含在其中的類型一般都和微軟操作系統服務相關,不能運行在其他OS上,如MAC,Linux等等。   11. 查看IL,反編譯   使用.NET自帶工具ildasm可以查看程序集IL。使用reflector可以反編譯程序集,你可以從http://www.red-gate.com/products/reflector/下載。   12. .NET的跨平台性   簡單說就是.NET是跨語言的平台,同時也支持跨平台的語言。跨語言的平台是指它支持多種編程語言,支持跨平台的語言理論上是說.NET可以在非Windows之外的OS上運行。不過,對於後者,MS本身並沒有做這個工作,僅僅有2個開源的架構在提供有限的支持:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved