今天2015年1月22日16:59:01,我正式開始了在如鵬網學習C#的日子。我希望我能堅持下去。
學會編程、成為一個合格的程序員。
C#、.Net和ASP.NET的區別
.NET開發環境配置
必須安裝.NET Framework。Framework的版本有2.0、3.0、3.5、4.0、4.5等版本。
而現在目前安裝程序需要安裝.NET 3.5和.NET 4.5.2的版本。因為.NET4.0的開始不再支持.NET3.5及以下的版本 了。所以需要安裝兩個版本的(截止到今天2015年1月26日)
用記事本和CSC即可編譯程序
不止是java可以用記事本編輯,C#一樣可以這樣玩,只是我們比較低調
using System; class Test{ static void Main(string[] args){ Console.WriteLine("您好,我再次出發寫代碼!"); Console.ReadKey(); } }
3、 然後將Test.txt重命名為Test.cs文件再執行:win+r鍵打開運行窗口,
通過命令進入Test.cs所在的文件夾H盤,
執行:C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe Test.cs,編譯生成Test.exe (自動完成文件名的命令是TAB鍵。) (Get new skill)
最後打印輸出
.Net程序運行必須依賴於.Net Framework ,無法獨立運行。
.NET Framework介紹
PS:編譯完成後,.NET程序是正常的“01100....”的可執行文件,而是IL代碼組成的中間層代碼。.NET程序通過即時編譯的方式,在運行時編譯成真正的exe。所以有些程序在第一次運行的時候會稍微慢一點,有一些這部分的原因。
FrameWork幾個核心功能。
CTS:Common Type System 通用類型系統。Int64→long、Int32→int、Int16→short、String→string、Boolean→bool。每種語言都定義了自己的類型,.Net通過CTS提供了公共的類型,然後翻譯生成對應的.Net類型。
CLS:Common Language Specification 通用語言規范。不同語言語法的不同。每種語言都有自己的語法,.Net通過CLS提供了公共的語法,然後不同語言翻譯生成對應的.Net語法。
CLR:Common Language Runtime 公共語言運行時,就是GC、JIT等這些。有不同的CLR,比如服務器CLR、Linux CLR(Mono)、Silverlight CLR(CoreCLR)。相當於一個發動機,負責執行IL。
反編譯工具的介紹
Reflector 老牌反編譯工具
ILSpy 新興反編譯工具(開源免費)
1、反編譯工具 無法反編譯匯編,因為CSC在編譯代碼的時候,不會編譯注釋。
注釋問題
被注釋的代碼編譯器忽略。作用:說明代碼的作用:程序中適當加注釋;屏蔽無用的代碼。
使用“//”注釋一行代碼,//之後的代碼編譯器會忽略(給例子代碼加注釋)。
/**/注釋多行代碼。(*)還有“///”文檔注釋。
// _ooOoo_
// o8888888o
// 88" . "88
// (| -_- |)
// O\ = /O
// ____/`---'\____
// . ' \\| |// `.
// / \\||| : |||// \
// / _||||| -:- |||||- \
// | | \\\ - /// | |
// | \_| ''\---/'' | |
// \ .-\__ `-` ___/-. /
// ___`. .' /--.--\ `. . __
// ."" '< `.___\_<|>_/___.' >'"".
// | | : `- \`.;`\ _ /`;.`/ - ` : | |
// \ \ `-. \_ __\ /__ _/ .-` / /
// ======`-.____`-.___\_____/___.-`____.-'======
// `=---='
//
// .............................................
// 佛祖鎮樓 BUG辟易
// 佛曰:
// 寫字樓裡寫字間,寫字間裡程序員;
// 程序人員寫程序,又拿程序換酒錢。
// 酒醒只在網上坐,酒醉還來網下眠;
// 酒醉酒醒日復日,網上網下年復年。
// 但願老死電腦間,不願鞠躬老板前;
// 奔馳寶馬貴者趣,公交自行程序員。
// 別人笑我忒瘋癫,我笑自己命太賤;
// 不見滿街漂亮妹,哪個歸得程序員?