標籤:c#學習路線 winform學習路線 軟體開發學習路線
不管學習哪一種程式設計語言或技術架構,為了避免“迷路”,少走彎路,都應當有一條系統的、全面的學習路線,筆者認為應以軟體常用功能為主線,由簡入繁,逐一實踐每一項功能。
筆者曾自學過C、VFP、ASP、VB.NET、PHP、JAVA、JSF、C#.NET、WinForm、ASP.NET及網頁開發等程式設計語言或技術,參與開發的項目有十多個,筆者認為學習軟體開發,入門最難,入門不是簡單的在電腦螢幕上輸出“Hello World!”,而應當是瞭解程式設計語言的開發環境和工具,學習和掌握基本控制項,多應用實踐。入門階段電腦編程理論大可放到一邊,先學會如何使用編程工具開發小程式,然後再探討如何開發更複雜的程式,最後再系統性的補全基礎理論知識。筆者主張“隨插即用”式自學方法,先看到效果,再回過頭來探討為什麼這麼做。初學者如果嘗到甜頭,那麼他就會對軟體編程的興趣會越學越濃烈,從而進入一個良性迴圈學習過程。如果學C語言幾個周,也只能在自己的電腦螢幕上輸出一些字元、寫個迴圈、做個數學運算,那麼這個初學者很可能因挫敗的成就感而喪失對軟體編程的興趣。
我大學期間學習C語言的時候,雖然考試成績不錯,但對C語言理論還是一頭霧水、充滿疑惑,學好C語言具體能做什麼也不清楚。因C語言的經典和傳奇而喜歡它,但屢次因未感受到C寫程式的成就感而放棄。後來,筆者學習網頁開發、ASP,自學半年,雖然能寫一些動態網頁,但獨立做個公司網站還很難。當時還公司網站市場價處於萬元時代,和現在幾百元一個網站相比,技術進步了,時代變了。筆者自認為在學習VB.NET之前自己未曾入門。一次逛書店,偶然翻到一本VB.NET開發實戰,閱讀VB.NET代碼如同閱讀文字一樣輕鬆愉悅,按照書本提供的WinForm案例,短短兩個月的時間就將公司檔案系統(ASP版)使用Win Form重新開發。後來學習ASP、PHP、Java等編程語也非常順利。至此,方感恍然大悟,學編程這麼多年,一直懵懵懂懂,歸根結底是未找到入門的切入點。
不論C#、Java、PHP,每種程式設計語言,文法都很相似,功能也相似,那麼按照這個道理學習Java和C#應當難度一致,但大多數程式員都認為學習Java要比C#難,學習成本也高。筆者認為主要原因是Java的開發環境和資源擷取難度要高於C#,C#在整合開發工具Visual Studio中通過嚮導分分鐘就可看到C#寫的程式,Visual Studio由微軟提供,其完善程度遠高於Java的開發環境。一個有趣的現象是Java程式員經常滿世界尋找合適版本的jar包,這也是Java開源項目多、資源多的一個關鍵因素。C#程式員這樣的經曆就少多了,因為微軟提供的已經很全面了。
有的程式員認為微軟的東東太容易上手,所以學.NET不夠高大上、不能證明自己比別人聰明,更喜歡使用敲命令列的工具。筆者認為學習電腦編程,可先找個“軟柿子”,再啃“硬骨頭”,所以推薦初學者從C#和Win Form入手。
以下是筆者整理的學習路線,功能排列沒有絕對先後順序,只是一個參考方向,歡迎批評指正,歡迎補充!
C#學習路線
安裝和熟悉開發工具或開發環境
建立一個項目,輸出Hello World,並在另一台電腦上運行編譯好的示範程式
熟悉WinForm基本控制項
資料類型
類及屬性定義
變數
賦值
運算子
字串拼接
字串格式化
日期時間格式化
數值格式化
保留小數
條件
迴圈
產生隨機數
數組
列表
隊列
引用命名空間
在控制台輸出
字型樣式
快速鍵
對話方塊
檔案及檔案夾操作
文字檔讀取、修改、刪除等操作
字元集
XML檔案操作
驗證碼
縮圖
操作Excel
操作WPS
錯誤處理
錯誤記錄檔
二進位流
字元編碼
加解密
定時器
多進程
發郵件
調用cmd命令提示字元
串連資料庫
資料庫增刪改查操作
資料集DataTable
字典
熟悉WinForm控制項
文字標籤Label
按鈕
文字框
下拉框
日期時間選擇框
單選框
複選框
列表框
選項卡
分割條
樹
資料表格DataTableGridView/DataGrid
控制項及事件(單機、雙擊、獲得焦點、失去焦點、選中)
表單校正
Regex
訊息對話方塊
確認框
輸入框
調用Web Service
使用代理
操作COM口
列印
報表
Socket通訊
托盤小表徵圖
開啟一個網址
開啟一個網址並讀取網頁內容
檔案上傳下載
產生條碼
產生二維碼
安裝包
擷取ip地址
引用第三方dll
文件管理系統
……
C#軟體開發學習路線