標籤:自己的 hello 目的 沒有 理論知識 .com 網址 build style
不管學習哪一種程式設計語言或技術架構,為了避免“迷路”,少走彎路,都應當有一條系統的、全面的學習路線,筆者認為應以軟體常用功能為主線,由簡入繁,逐一實踐每一項功能。
入門最難,入門不是簡單的在電腦螢幕上輸出“Hello World!”,而應當是瞭解程式設計語言的開發環境和工具,學習和掌握基本控制項,多應用實踐。入門階段電腦編程理論大可放到一邊,先學會如何使用編程工具開發小程式,然後再探討如何開發更複雜的程式,最後再系統性的補全基礎理論知識。筆者主張“死記硬背”式自學方法,先看到效果,再回過頭來探討為什麼這麼做。初學者如果嘗到甜頭,那麼他就會對軟體編程的興趣會越學越濃烈,從而進入一個良性迴圈學習過程。如果學C語言幾個周,也只能在自己的電腦螢幕上輸出一些字元、寫個迴圈、做個數學運算,那麼這個初學者很可能因挫敗的成就感而喪失對軟體編程的興趣。
我大學期間學習C語言的時候,雖然考試成績不錯,但對C語言理論還是一頭霧水、充滿疑惑,學好C語言具體能做什麼也不清楚。因C語言的經典和傳奇而喜歡它,但屢次因未感受到C寫程式的成就感而放棄。後來,筆者開始參加一些諸如ACM的演算法類考試。筆者自認為在學習語言的過程中一直未入門。一次逛書店,偶然翻到一本VB.NET開發實戰,閱讀VB.NET代碼如同閱讀文字一樣輕鬆愉悅,按照書本提供的WinForm案例,短短兩個月的時間就學會了一些項目的開發。後來學習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#學習路線
1.安裝和熟悉開發工具或開發環境
2.建立一個項目,輸出Hello World,並在另一台電腦上運行編譯好的示範程式
3.熟悉WinForm基本控制項
4.資料類型
5.類及屬性定義
6.變數
7.賦值
8.運算子
9.字串拼接,盡量避免頻繁使用+拼接,可使用StringBuilder
10.字串格式化,使用傳參方式替代字串拼接
11.日期時間格式化
12.數值格式化
13.保留小數
14.條件
15.迴圈
16.產生隨機數
17.數組
18.列表
19.隊列
20.引用命名空間
21.在控制台輸出
22.字型樣式
23.快速鍵
24.對話方塊
25.檔案及檔案夾操作
26.文字檔讀取、修改、刪除等操作
27.字元集
28.XML檔案操作
29.驗證碼
30.縮圖
31.操作Excel
32.操作WPS
33.錯誤處理
34.錯誤記錄檔
35.二進位流
36.字元編碼
37.加解密
38.定時器
39.多進程
40.發郵件
41.調用cmd命令提示字元
42.串連資料庫(http://www.huiyaosoft.com/html/csharpconndb.htm)
43.資料庫增刪改查操作
44.資料集DataTable
45.字典
46.熟悉WinForm控制項
47.文字標籤Label
48.按鈕
49.文字框
50.下拉框
51.日期時間選擇框
52.單選框
53.複選框
54.列表框
55.選項卡
56.分割條
57.樹
58.資料表格DataTableGridView/DataGrid
59.控制項及事件(單機、雙擊、獲得焦點、失去焦點、選中)
60.表單校正
61.Regex
62.訊息對話方塊
63.確認框
64.輸入框
65.調用Web Service
66.使用代理
67.操作COM口
68.列印
69.報表
70.Socket通訊
71.托盤小表徵圖
72.開啟一個網址
學習C#.NET有捷徑嗎?