C#入門---一、C#裝備知識(C#如何學習)
1、總結
一句話總結:
主視頻,輔助書和教程:仍是得看視頻,直接看書或者看教程效率不高
一、C#和.NET的關係和區別?
.net是一個平臺,核心是.net framework。CLR(Common Language Runtime)。 FLC(Framework Class Library)。
C#是一個程序設計語言。.Net平臺上,能夠供不少語言進行開發C++、C#、VB……(C#只是該環境下的高級編程語言之一)
ASP.NET是一個網站開發的技術,僅僅是.NET框架中的一個應用模型
一、.net(dot net)web
.net是一個平臺,抽象的平臺概念。編程
實現形式是庫:①定義了基本的類型(通用類型系統CTS,common type system)。c#
②包含.net公共語言運行庫(CLK,common language runtime,負責管理用.net庫開發的全部應用程序的運行)。瀏覽器
核心是.net framework安全
NET Framework包括兩個關鍵組成元素:服務器
a.Common Language Runtime,公共語言運行時(CLR)-提供內在管理,代碼安全性檢測等功能。框架
b..NET Framework Class Library,.NET框架類庫(FLC)-提供大量應用類庫,提升開發效率 。編程語言
二、C#(C sharp)編輯器
C#是一個程序設計語言,僅僅是一個語言,是運行在.net CLR上的,用於建立應用程序的高級語言。分佈式
三、ASP.NET是一個網站開發的技術,僅僅是.NET框架中的一個應用模型。
ASP.NET 是用於生成基於Web的應用程序的內容豐富的編程框架。
二、.net(dot net)是什麼?
平臺:.net是一個平臺,核心是.net framework,實現形式是庫。+
CLR:a.Common Language Runtime,公共語言運行時(CLR)-提供內在管理,代碼安全性檢測等功能。 +
FLC:b..NET Framework Class Library,.NET框架類庫(FLC)-提供大量應用類庫,提升開發效率 。
一、.net(dot net)
.net是一個平臺,抽象的平臺概念。
實現形式是庫:①定義了基本的類型(通用類型系統CTS,common type system)。
②包含.net公共語言運行庫(CLK,common language runtime,負責管理用.net庫開發的全部應用程序的運行)。
核心是.net framework
NET Framework包括兩個關鍵組成元素:
a.Common Language Runtime,公共語言運行時(CLR)-提供內在管理,代碼安全性檢測等功能。
b..NET Framework Class Library,.NET框架類庫(FLC)-提供大量應用類庫,提升開發效率 。
三、c#能夠開發哪些類型的應用程序?
①Windows桌面應用程序,用.Net提供的WPF模塊很便捷的就能生成桌面應用
②Windows Store應用程序,這是Win8以上系統針對觸摸屏出的設計,一般全屏運行的
③Web應用程序,經過webForms建立的ASP.NET應用程序
④WCF服務,比較高級,是一種靈活建立各類分佈式應用程序的方式,可經過局域網或互聯網交互幾乎各類數據
談到C#,不得不提.Net,Microsoft .NET Framework是微軟的一套框架。
從XP的1.0版,到Win7的3.5版,到了Win8和Win8.1已經4.5和4.5.1版本了,win10是4.6版本的。
.NET Framework引入了"基於證據的安全"的概念。
.NET Framework 的目的就是要讓創建Web Services 以及因特網應用程序的工做變的簡單。
.NET Framework 包括了三大部分:
①是Common Language Runtime(CLR,全部.NET 程序語言公用的執行時期組件),
②是共享對象類別庫(提供全部.NET 程序語言所須要的基本對象),
③是從新以組件的方式寫成的(舊版本則是以asp.dll提供ASP 網頁所須要的對象)。
.Net平臺上,能夠供不少語言進行開發C++、C#、VB……(C#只是該環境下的高級編程語言之一)
四、.NET 的兩種交互模式?
CS模式(client 客戶端 serverv服務器) 客戶端和服務器 客戶端須要安裝每臺電腦
BS模式(browser 瀏覽器 server服務器)瀏覽器和服務器 客戶端只須要安裝一個瀏覽器就能夠訪問服務器的應用很是方便
五、IDE是什麼?
集成開發環境,全稱是Integrated Development Environment,通常包括代碼編輯器、編譯器、調試器和圖形用戶界面等工具
IDE的意思是集成開發環境,全稱是Integrated Development Environment,集成開發環境是用於提供程序開發環境的應用程序,通常包括代碼編輯器、編譯器、調試器和圖形用戶界面等工具。
六、如何用命令行的方式運行程序(好比qq,vs2015)?
添加系統路徑+快捷方式更名(執行快捷方式)
原理:用的是命令行執行時會自動搜索系統環境變量裏面的路徑下的可執行文件
a、在d盤中新建一個文件夾aa
b、而後將新建文件夾的路徑添加系統環境變量path
c、將qq或者vs2015的快捷方式弄到aa文件夾中,並更名:好比將qq的快捷方式更名成qq,那麼就能夠命令行直接qq來運行qq程序了
七、vs最開始選擇的環境是c#,而後我想重置(以便選擇別的),我應該修改哪裏?
工具->導入導出設置->重置全部設置
八、使用.NET Framework編寫應用程序的實質是什麼?
使用.NET 【代碼庫】 編寫代碼(使用支持Framework的任何一種語言)
九、CIL是什麼?
通用中間語言(Common Intermediate Language):這些代碼並不是專門用於任何一種操做系統,也非專門用於C#其餘.NET語言,如Visual Basic.NET也能夠在第一階段編譯爲這種語言,開發C#應用程序時,這個編譯步驟由IDE完成。
爲執行C#代碼,必須把它們轉換爲目標操做系統可以理解的語言,即本機代碼(native code),這種轉換稱爲編譯代碼,由編譯器執行。
在編譯使用.NET Framework庫的代碼時,不是當即建立專用於操做系統的本機代碼,而是把代碼編譯爲通用中間語言(Common Intermediate Language)。
這些代碼並不是專門用於任何一種操做系統,也非專門用於C#其餘.NET語言,如Visual Basic.NET也能夠在第一階段編譯爲這種語言,開發C#應用程序時,這個編譯步驟由IDE完成。
十、程序集是什麼?
exe:應用程序文件(exe)
dll:其餘應用程序使用的庫(dll)
在編譯應用程序時,所建立的CIL代碼存儲在一個程序集中。
程序集包括可執行的應用程序文件(exe)和其餘應用程序使用的庫(dll)。
十一、JIT編譯器是什麼?
即時編譯器(Just-In-Time Compiler):將CIL編譯成爲各類不一樣的機器代碼,以適應對應的系統平臺
JIT編譯器,英文 寫做Just-In-Time Compiler,中文意思是即時編譯器。
JIT編譯器可以將CIL編譯成爲各類不一樣的機器代碼,以適應對應的系統平臺,最終使得程序在目標系統中獲得順利的進行。
十二、運行時(runtime)是什麼?
在將代碼編譯爲CIL,再用JIT編譯器將它編譯爲機器代碼後,CLR(公共語言運行庫)的任務尚未所有完成,還須要管理正在執行的用.NET Framework編寫的代碼(這個執行代碼的階段一般成爲運行時(runtime))。
即CLR管理着應用程序,其方式是管理內存、處理安全性以及容許進行跨語言調試等。
1三、非託管類型程序是什麼?
不受CLR控制運行的應用程序屬非託管類型,某些語言如C++能夠用於編寫這類應用程序,例如,訪問操做系統的低級功能。
可是在C#中,只能編寫在託管環境下運行的代碼。
咱們將使用CLR的託管功能,讓.NET本身與操做系統進行交互。
1四、託管代碼是什麼?
簡單點說,託管代碼是一種microsoft的【中間語言】,他主要的做用是在.NET FRAMEWORK的CLR執行代碼前去編【譯源代碼】,也就是說託管代碼充當着【翻譯】的做用,
1五、源代碼在運行時分爲哪兩個階段?
1.源代碼編譯爲【託管代碼】;(因此源代碼能夠有不少種,如B,C#,J#)
2.託管代碼編譯爲Microsoft系統的.NET平臺專用文件(如【類庫、可執行文件】等)。
1六、建立.NET應用程序所經歷的步驟?
1.編寫代碼:使用某種.NET兼容語言(如C#)編寫代碼;
2.編譯爲CIL:把代碼 編譯 爲CIL,存儲在 程序集 中;
3.編譯爲本機代碼:在執行代碼時,使用 JIT編譯器 將中間代碼編譯爲 本機代碼 ;
4.運行本機代碼:在託管的CLR環境下 運行本機代碼 ,以及其餘應用程序或進程。
1七、建立.NET程序過程?
a、C#應用程序代碼 -
b、編譯爲CIL-> 程序集
c、JIT編譯器-> 本機代碼
d、託管的CLR環境下-> EXE文件DLL庫