1.C#,.Net和ASP.Net的區別:編程
C#(Csharp): .net平臺下的一種語言;注:(其餘語言也能夠開發.Net程序)安全
.net : 是一個平臺,提供運行.net程序,所須要的一種虛擬機,內庫等!編程語言
Asp.net : 在.net環境下開發網站的技術。
工具
注:.Net能夠經過mono跨平臺進行開發開發工具
2.開發工具:優化
1.Visual Studio 是微軟官方提供的一種開發工具網站
2.運行.Net程序 須要依靠 .Net Framework(安裝.Net Framework便可)。spa
3..Net和Visual Studio高版本兼容低版本操作系統
3.用記事本編寫程序:.net
1.編寫好程序後後綴名改成(.cs)
2.
3.在cmd命令提示符中 打開(cd:)編寫的的文件所在的地方C:\Windows\Microsoft.NET\Framework\v4.0.30319(注:版本號)\csc.exe 文件名.cs(生成可執行文件exe)
4.注:.Net程序運行必須依賴於.Net Framework ,沒法獨立運行。生成的exe、dll不是普通的「原生」的,而是叫「程序集」,是「MSIL/IL」二進制字節碼。.Net Framework中的CLR是運行.Net程序的核心 Linux、IOS等非Windows系統下也能夠運行.net程序:經過Mono。Android、IOS上也能夠藉助於Xamarin使用C#開發手機程序。(Linux 穩定;c sharp 開發效率高)
4.Visual Studio的使用:
注:大小寫敏感,用英文字符。
解決方案>項目>代碼(類)
(.csproj)項目文件
(.sln)打開解決方案下的全部文件
Console.ReadKey()//等待用戶輸入一個字符
5.註釋:
1.註釋分爲單行註釋 //
2.多行註釋 /* .......... */
3.文本註釋 ///
6.反編譯及反編譯的優化:
1.反編譯工具:Reflector(比較早的一款反編譯工具)
ILSpy(之後儘可能用這款編譯工具)
反編譯:
1.註釋的內容不能被反編譯出來;
2.經過C#寫的程序才能被反編譯出來;(用一些C\C++等編程語言寫的程序還原不會來)。
3.編譯器優化:優化掉無用變量(沒有被使用過的變量)及(例:int i=2+7,會自動優化成int i=9)。
7.擴展:
1.CLR(Common Language Runtime,公共語言運行時)
功能:主要負責安全、內存管理、程序運行以及異常處理
2.在.NET Framework中編寫的應用程序的源代碼
最初被編譯爲一種名爲MSIL的中間語言。該初始編譯由特定於語言的命令行編譯器(Visual Studio或者其餘生成工具)來執行。而當執行應用程序時一般會執行二次編譯。二次編譯將會獲取中間語言並將其編譯爲可在操做系統中運行的可執行代碼。二次編譯被稱爲JIT(just-in-time,即時)編譯。
注:3.CLI(Common Language Infrastructure,公共語言基礎結構)、CTS(Common Type System,公共類型系統)、CLS(Common Language Specification,公共語言規範)和VES(Virtual Execution System,虛擬執行環境)
4.Mono
概念:Mono是一個在非Windows操做系統中提供C#編譯器和CLR的開源項目
MonoDevelop:隨同Mono一塊兒的是名爲MonoDevelop的開源IDE,該IDE做爲SharpDevelop IDE的一個端口一塊兒啓動。MonoDevelop最初是一個容許在Linux上進行Mono開發的項目,但隨着MonoDevelop2.2的發佈,它也具有了在Mac、Windows以及其餘非Linux UNIX平臺上用Mono進行開發的能力。