【轉】C#學習路線WinForm學習路線

前沿:GIS專業剛剛開始接觸開發,半年沒入開發門,學開發智商應該沒問題,走了很多彎路。博文轉自 輝耀應用程序框架學習網html

  無論學習哪種編程語言或技術框架,爲了不「迷路」,少走彎路,都應當有一條系統的、全面的學習路線,筆者認爲應以軟件經常使用功能爲主線,由簡入繁,逐一實踐每一項功能。筆者曾自學過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等編程語也很是順利。至此,方感恍然大悟,學編程這麼多年,一直懵懵懂懂,歸根結底是未找到入門的切入點。web

  不論C#、Java、PHP,每種編程語言,語法都很類似,功能也類似,那麼按照這個道理學習Java和C#應當難度一致,但大多數程序員都認爲學習Java要比C#難,學習成本也高。筆者認爲主要緣由是Java的開發環境和資源獲取難度要高於C#,C#在集成開發工具Visual Studio中經過嚮導分分鐘就可看到C#寫的程序,Visual Studio由微軟提供,其完善程度遠高於Java的開發環境。一個有趣的現象是Java程序員常常滿世界尋找合適版本的jar包,這也是Java開源項目多、資源多的一個關鍵因素。C#程序員這樣的經歷就少多了,由於微軟提供的已經很全面了。正則表達式

  有的程序員認爲微軟的東東太容易上手,因此學.NET不夠高大上、不能證實本身比別人聰明,更喜歡使用敲命令行的工具。筆者認爲學習計算機編程,可先找個「軟柿子」,再啃「硬骨頭」,因此推薦初學者從C#和Win Form入手。sql

如下是筆者整理的學習路線,功能排列沒有絕對前後順序,只是一個參考方向,歡迎批評指正,歡迎補充!數據庫

C#學習路線編程

1.安裝和熟悉開發工具或開發環境小程序

2.建立一個項目,輸出Hello World,並在另外一臺電腦上運行編譯好的演示程序數組

3.熟悉WinForm基本控件框架

4.數據類型

5.類及屬性定義

6.變量

7.賦值

8.運算符

9.字符串拼接,儘可能避免頻繁使用+拼接,可以使用StringBuilder

StringBuilder sql = new StringBuilder();
sql.Append("select tb.name,ta.* from tablea ta");
sql.Append(" left join tableb tb on tb.id = ta.id");
sql.Append(" where tb.name like '%%'");
sql.Append(" order by tb.name");

10.字符串格式化,使用傳參方式替代字符串拼接

string username = "huiyaosoft.com";
int age = 1;
Console.WriteLine("Username{0},age{1}",username,age);
Console.WriteLine(string.Format("Username{0},age{1}", username, age));

11.日期時間格式化

12.數值格式化

13.保留小數

14.條件

15.循環

16.生成隨機數

17.數組

18.列表

19.隊列

20.引用命名空間

21.在控制檯輸出

22.字體樣式

23.快捷鍵

24.對話框

25.文件及文件夾操做

26.文本文件讀取、修改、刪除等操做

向文本文件寫入(追加)內容,若是文本文件不存在則建立

System.IO.File.AppendAllText(@"c:\demo.txt","your content");

讀取文本文件所有內容

string content = System.IO.File.ReadAllText(@"c:\demo.txt");

27.字符集

28.XML文件操做

29.驗證碼

30.縮略圖

31.操做Excel

32.操做WPS

33.錯誤處理

34.錯誤日誌

35.二進制流

36.字符編碼

37.加解密

38.定時器

39.多進程

40.發郵件

41.調用cmd命令提示符

42.鏈接數據庫

43.數據庫增刪改查操做

44.數據集DataTable

45.字典

46.熟悉WinForm控件

47.文本標籤Label

48.按鈕

49.文本框

50.下拉框

51.日期時間選擇框

52.單選框

53.複選框

54.列表框

55.選項卡

56.分割條

57.樹

58.數據表格DataTableGridView/DataGrid

59.控件及事件(單機、雙擊、得到焦點、失去焦點、選中)

60.表單校驗

61.正則表達式

62.消息對話框

63.確認框

63.輸入框

65.調用Web Service

66.使用代理

67.操做COM口

68.打印

69.報表

70.Socket通訊

71.托盤小圖標

72.打開一個網址

System.Diagnostics.Process.Start("http://www.huiyaosoft.com/");

73.打開一個網址並讀取網頁內容

74.文件上傳下載

75.生成條形碼

76.生成二維碼

77.安裝包

78.獲取ip地址

79.引用第三方dll

80.文檔管理系統

81.取得程序當前運行所在路徑

System.Windows.Forms.Application.StartupPath + "\\";

……

相關文章
相關標籤/搜索