上篇《學了.Net作什麼開發》中我講到了目前.Net開發主要方向是Web開發,所以在本篇中我將主要講解作Web開發要學哪些東西,怎麼學,因爲內容比較多,我將分幾回發。下圖是我推薦的學習內容和學習順序(除了這裏列出的內容,要走向高手之路確定還有更多技術須要學習,我這裏只是對於初學者列出的主幹學習內容,並非所有):html
開發者口中的.Net全稱是.Net Framework,在中國大陸,通常將.Net讀做「道特耐特」(中文音標比英文音標更好讀,呵呵)或者「點耐特」。.Net是微軟推出的一門技術,它是一個技術平臺,基於這個平臺進行開發能夠簡化不少工做。關於到底什麼是.Net,不是一兩句話能說清楚的,並且也沒辦法讓初學者理解到底什麼是.Net,所以你只要記住.Net這個詞,隨着咱們越學越深刻,你就會理解.Net究竟是什麼東西了。程序員
基於.Net平臺上有不少語言,好比C#、VB.Net、IronPython、F#、Powershell等,F#、Powershell是知足特定用途的語言,IronPython、IronRuby等並無普遍應用,VB.Net是僅次於C#的第二大基於.Net的語言,不過按照微軟的戰略是把主要精力放到C#上,VB.Net只是微軟爲了將VB開發人員平滑的轉移到.Net平臺下的語言。所以對於語言來講你們學習C#便可。C#在中國大陸的叫法通常是「C sharp(C煞普)」,也有少數人讀成「C井」,我不推薦這種叫法。算法
初學者可能會弄不清C#和.Net的關係,.Net是一個技術平臺,而C#是這個技術平臺上的一門語言,就像Windows是一個操做系統,而Word、QQ、FireFox則是在Windows上運行的一個程序。初學者沒必要糾結於這個概念,不是很明白也不要緊。shell
.Net的開發工具是VisualStudio,VisualStudio如今有VisualStudio200五、VisualStudio200八、VisualStudio2010等版本,注意不要糾結於「到底裝VisualStudio2005仍是VisualStudio2008,據說有的公司還在用VisualStudio2005」、「究竟是用新版本的VisualStudio2010仍是用VisualStudio2008」這樣的問題,由於這些版本並無本質的不一樣,使用方法都相似,就像你會用WindowsXP,換了Windows7之後通過短暫的熟練會用Windows7了同樣。由於VisualStudio2010比較消耗資源,若是你的計算機配置較好能夠安裝VisualStudio2010,若是配置較差則推薦安裝VisualStudio2008。編程
要學習Web開發必定要按照正確的順序進行學習,不少人被一些《21天精通***》這樣的垃圾書的影響,不學C#、不學.Net Framework、不學Dom,直接上來就學ASP.Net,拖兩個控件、配兩個屬性、雙擊控件寫一個事件響應方法,就開始自誇「精通ASP.Net」了,照着書控件拖來拖去,但是連C#、.Net、ASP.Net、HTML、JavaScript以前的關係是什麼都不清楚,鬧出了不少笑話。欲速則不達,速成的結果就是之後浪費更多的時間,回想這麼多年你走過的路,有多少次爲了走快點就跳着走,最後又浪費時間返工的事情,按照正確的順序才能更快、更好的掌握.Net。數組
有的人可能認爲「我不想成爲高手,有一口飯吃就好了,會拖控件就好了唄」,千萬不要覺得會「不拖控件的開發」就是高手了,高手沒有那麼好當的。我沒有奢求學編程的人個個都是以「成爲世界頂尖級程序員」、「國內.Net開發者中的知名開發者」爲目標,這個也不現實,大部分人學編程只是看作軟件開發工資不低,想賺幾年錢娶媳婦生娃,這種想法並非多沒出息的想法,畢竟「老婆孩子熱炕頭」是最樸實的幸福,你不須要揹負「振興中國軟件產業」這種的重任,可是最起碼應該找到一份不錯的工做,工做幾年之後能有錢交得起房子首付(對於大部分人來說,可以交得起首付成爲房奴都是很奢侈的事情)、每個月供月供吧,若是隻會拖控件的話就不是能不能成爲高手的問題,而是能不能養家餬口的問題了。ide
下面來詳細講解學習的各個步驟:函數
1、C#面向過程編程。工具
學習C#語言分爲C#面向過程編程和C#面向對象基礎兩部分。聽到「C#面向過程編程」有人會問了「C#不是一門面向對象的語言嗎,哪兒來的面向過程編程?」,其實面向對象不是代替面向過程的,面向對象是面向過程的一個補充和發展,面向過程就是代碼逐行執行,面向過程就是if/else,面向過程就是for循環,面向過程就是變量、函數,C#中最基礎的也是if、for、變量、函數等這些東西,這些東西就是C#的面向過程部分。對於編程的初學者來講,最難的不是類、繼承、控件、ASP.Net、AJAX之類神乎其神的東西,而是「程序化的思惟方式」,也就是怎麼把一個問題的解決方式用計算機的思惟方式進行描述。學習
我接到過不少想深刻學習.Net學生的諮詢,當我問到「你的.Net基礎怎麼樣」的時候,不少人都回答「學過C#、.Net、ASP.Net,感受基礎還行」,可是我給了他一個很簡單的題,好比「用for循環累加的方式計算1到100之間整數的和」、「提示用戶輸入兩個數字,而後程序打印兩個數字的和」,不少人都作不出來。
對於初學者來講先不用管面向對象、ASP.Net之類的東西迷惑,先學習用最樸實的for、if來編寫程序,經過親手編寫練習題代碼來逐漸造成程序化的思惟方式,這個階段也不要使用「看起來很酷」的WinForm或者ASP.Net頁面來作,由於那樣就會涉及到這個階段不須要去了解的問題,先編寫最簡單的控制檯程序就能夠。推薦你們看我錄製的視頻教程《【傳智播客.Net視頻】第1季C#編程基礎》,這個教程針對C#零基礎的同窗進行講解,而且在課程中給出了很是多的練習,必定要本身親手把代碼熟練的寫出來,記住是親手寫出來,而不是照着個人代碼抄,更不能是看懂了個人代碼就覺得本身掌握了,要知道「看懂了」和「會寫了」之間差着十萬八千里呢。對於初學者來講一開始寫那些練習可能有點困難,先理解我寫的代碼,而後本身總結成「先***後***,再***,若是***則***」這樣的用語言描述的算法,而後照着算法描述本身寫代碼,發現有地方寫起來遇到問題的話再參考個人代碼,最後作到不用看個人代碼、不用看算法描述也能把代碼寫出來,這樣第一階段的任務就完成了。下面列出我視頻教程中的一些練習題,你們能夠自測看這個階段本身是否合格:
練習1:提示用戶輸入用戶名,而後再提示輸入密碼,若是用戶名是「admin」而且密碼是「888888」,則提示正確,不然提示錯誤,若是用戶名不是admin還提示用戶用戶名不存在。
練習2:提示用戶輸入年齡,若是大於等於18,則告知用戶能夠查看,若是小於10歲,則告知不容許查看,若是大於等於10歲,則提示用戶是否繼續查看(yes、no),若是輸入的是yes則提示用戶能夠查看,不然提示不能夠查看。(給出測試用例。)
練習3:從一個整數數組中取出最大的整數
練習4:計算一個整數數組的全部元素的和。
練習5:將一個字符串數組輸出爲|分割的形式,好比{「浮雲」,」神馬」,」穿梭」}數組輸出爲「浮雲|神馬|穿梭」。不要使用String.Join等.Net內置方法。
練習6:有一個整數數組,請聲明一個字符串數組,將整數數組中的每個元素的值轉換爲字符串保存到字符串數組中。
練習7:將一個字符串數組的元素的順序進行反轉。{"3","a","8","haha"} 轉換爲{"haha","8","a","3"}。提示:第i個和第length-i-1個進行交換。
學C#基礎的時候的參考書推薦以下兩本:
(1)《C#圖解教程》,這本書講的清晰易懂,不過部份內容安排順序不合理,你們按照我視頻中的順序進行學習就能夠。
(2)《C#入門經典》適合零基礎的大部頭,不過很是厚,採用的是老外的描述方式,中國人讀起來有點彆扭,並且中文版翻譯的不是太好。
注:以上謹表明我的觀點,我誓死捍衛你反對我觀點的權利,但請評論時保持文明用語。