C#新手學習路線指南

C#學習路線指南

花費了幾天時間整理了C#學習路線圖,可以說是純野生C#程序員成長路線規劃,在這里分享下,希望可以幫助到想從事C#開發的同學們。本人閱歷尚淺,有些知識點可能分享不正確,希望廣大網友評論區補充,我會同步修正更新。

題記

最近自己一直在想,一個初學者剛開始應該學些什么,該學習到哪種程度找工作才不成問題,才能在做項目時游刃有余不被Bug所困住。

是不是每一個初學者在剛開始學習任何一門編程語言的時候,都會有這樣的疑問,都覺得無從下手,沒有頭緒。反正我當時確實有這樣的困惑,在剛開始接觸編程的時候,當時幸好有實驗室學長和老師的建議,才減少了試錯成本,可以把更多時間都花費在正確的事情上,學習效率才會高。

根據我當時的學習情況和現在目前市場上的行情來分析,羅列出新手學習C#編程語言路線指南,希望對你有幫助。

C#學習路線指南

計算機基礎


如果你是本科生的話,在校期間,應該會學習計算機基礎,C語言,計算機組成原理,操作系統等關于計算機的課程,我希望你好好學習,尤其是C語言,它是一種特別容易入門上手和了解編程思想的語言,是面向過程式的開發,首先你得學會使用它的語法做一些簡單的邏輯運算,其次可以根據一定的需求,實現部分特殊算法的演練(這些對你后期學習面向對象開發語言有很大的幫助)。

如果沒有開設這些課程,那么就需要你花時間去互聯網上找相關視頻去學習。

推薦書籍

  • 《C語言程序設計》(第2版)譚浩強版本
  • 《大話數據結構》 程杰
  • 《數據結構C語言版》 嚴蔚敏版
  • 《深入理解計算機系統》(美)布賴恩特

推薦視頻:

C#基礎知識


基礎語法

你如果前期學習過C語言的話,那么學習C#基礎知識就會感覺很容易,特別好理解。在這個環節你需要認真學習基礎知識,你得學會在保證語法不報錯的情況下,利用基礎知識寫一些簡單的算法;得熟練了解語法,使用得當并可以實現一些邏輯代碼。

(基礎語法、數據類型、變量、循環、方法、數組、集合、判斷、類等)

面向對象開發

C語言是面向過程的開發語言,而C#是面對對象的開發語言,在使用C語言寫邏輯代碼時都是可以按照一定的順利邏輯將其實現就OK,而C#就不一樣,你在學習語法,實現業務邏輯時得考慮程序的可擴展性,魯棒性等。

你得擁有抽象思維,可以將現實中無生命體征的物品進行擬物處理,將它們進行更為抽象的提煉,匯總為某個特殊類,讓其這個類代表這類物品,并讓其擁有這個物品的所有屬性和行為,這就是面向對象開發。

(繼承、封裝、多態、接口、抽象類等)

這一部分的學習比較抽象,學會擁有抽象思維,讓自己可以更好的理解這些知識點。

基礎知識進階

這里你將會學習一些高端的編程玩法,可能短期內,你無法使用到,但是它們更多體現在你的職業后期,當你實際使用框架或者閱讀源碼的過程中,都會遇到這些知識點,并有可能被它困住。

(Linq、泛型、委托、事件、多線程、Socket開發)

推薦書籍:

  • C#圖解教程(第五版) (5星推薦入門教程)
  • C#入門經典 (里面的進階方面知識介紹的很)
  • CLR via C# (很厚很厚的書,可以看做工具書使用)

推薦視頻

推薦在線學習網址

前端技術


在編寫后端代碼的過程中,我們或多或少的需要對頁面進行處理,那么了解和會使用前端語言是至關重要的。對于前端技術,只需要掌握到會用的程度就可以,看得懂,會用,會寫就OK。

剛開始學習的話就是網頁三劍客 HTML+CSS+JavaScript,這里我推薦看網上的菜鳥教程和視頻來學習,這樣很容易上手,做出東西后就很有滿足感。

其次就是Jquery+AJAX技術,它是很老的技術了,目前市面上比較流行的Vue、Angular、React等框架都是對底層Jquery+AJAX的高度封裝實現,所以我們掌握了解Jquery和AJAX技術很有必要。

由于前端技術這幾年發展特別快,各種新技術如雨后春筍般涌現,所以我們大家在學習的過程中要抓住主次,別什么都學習。這里我推薦大家學習Vue.js(3.0),目前很多公司都在使用它,我們學好它,對以后找工作會有很大的幫助。至于其余的前端技術,沒有必要全都去學習,等到公司或者說以后項目需要使用它的時候,我們再學習也不遲。相信我,那些東西都是很容易上手的,原理都是通的,就看你會不會活學活用了。

后面可能還得學習Node.js、NPM等用于發布和構建的技術,這些也可以等實際使用的時候再去學習。

推薦書籍

  • 《JavaScript DOM 編程藝術》
  • 《JavaScript權威指南》(犀牛書)
  • 《深入淺出Node》
  • 《HTTP權威指南》

推薦教程

數據庫


關于數據庫的學習,需要先從最基本的SQL語句開始,這個可以通過看菜鳥教程來了解和熟悉,SQL語句學習的過程中要安裝好數據庫環境來實際操作,不能只死記硬背公式,要學會融會貫通,在真實的數據庫中來體驗。

目前數據庫分為關系型數據庫和非關系型數據庫。

關系型數據庫:Sql Server、MySQL、Oracle、SQLite、DB2等。

非關系型數據庫:MongoDb、Redis、NoSql等。

對于我們將來從事編碼開發的人員來說,我覺得你首先先學會使用Sql Server和MySql數據庫,其余的數據庫在以后的開發中再去學習也不遲。

就拿Sql Server來說,你學習完后在后面的C#高級知識中,使用ASP.NET MVC或者Web Api技術可立馬實際操作應用數據庫。你可以先寫一些簡單的CRUD,實現一些基本的功能,這對你后期的成長至關重要。

推薦書籍

  • 《SQL必知必會》
  • 《Microsoft SQL Server 2008技術內幕:T-SQL查詢》

推薦教程

C#高級知識


關于高級知識部分這個環節,你可以試著做出點實際項目出來,不管是ADO.NET 還是ASP.NET MVC或者ASP.NET Web API,你都可以先跟著書本或者視頻教程,先讓自己會用繼而模仿看別人的寫法,自己也動手進行實現。

你可以在Github或者Gitee中找到一些開源的項目,比如圖書管理系統、博客系統,論壇等一系列使用高級知識來實現的項目,你需要先閱讀代碼,看別人是如何實現的,從而在仿照別人的實現過程來按照自己的想法編寫自己的系統。(通過這樣的實戰項目,你可以快速的上手實現,學著并嘗試做一個全棧開發,自己一個人從前端到后端再到發布上線,體驗下整個軟件項目的完整生命周期)

ADO.NET: 它是最原始的數據庫訪問技術,目前基本都不使用,市面上公司都是使用封裝好的ORM,但是你也得學習它。你得了解它是如何和數據庫進行交流的,嘗試著自己做這些步奏,看是否能順利連接數據庫,并進行一系列的CRUD操作。

ASP.NET MVC:它是微軟將模型-視圖-控制器的編程思想進行程序化的一種實現,你學習它可以快速上手實現一個網站,通過這個技術你可以實現自己的想法,比如做個圖書管理系統等,在結合之前學習的ADO.NET技術,就可以將前端到數據庫都打通了。

ORM:ORM簡稱對象關系映射,是一種程序設計技術,用于實現面向對象編程語言里不同類型系統的數據之間的轉換。目前在C#語言中比較流行的有Entity Framework,NHibernate,SqlSugar(國內)。這塊你主要學習EF就可以,其余的編程思想都是想通的,你只要學會使用其中一個,其余的簡單學習下技巧就很快能上手。

ASP.NET Web API:它是一種實現前后端分離的后端技術(SPA),也是目前市場上大家普遍使用的技術,通過它可以很簡單的實現SPA,后端開發人員只需要編寫后端的業務代碼,通過API暴露出訪問接口,可供前端人員進行使用。

推薦書籍:

  • ASP.NET MVC 5高級編程
  • 精通ASP.NET MVC4

推薦系列教程

推薦視頻

.Net Core


最后一個就是.Net Core,筆者在這段時間也在看Core相關的知識,受益良多。這幾年微軟一直想通過Core來顛覆.NET語言的形象和未來,用它來和Java爭一爭市場(還是有差距的),也在最近剛剛發布了.NET 6預覽版將以前的各個發展路線進行了大統一,以后的命令就很好區別了。

這個模塊我推薦優先看微軟的官方文檔,因為版本眾多,且先前版本差異比較大,這里推薦直接學習并使用.NET 5.0,也是微軟推薦的可應用于生產環境的版本。

其次可以根據ASP.NET Core 中文文檔目錄來學習,它是一些程序員自發組織翻譯的微軟官網的文章集合,里面內容可能有些都已經失效或不在更新但最起碼可以讓你對Core有一個嶄新的認識。

其實對于Core的知識點學習有很多的,這里我就不一一列舉了。大家可以看下下面這張圖片的內容,對照著學習就OK。

image

推薦書籍

  • 《深入淺出ASP.NET Core》

推薦系列


大家可以看到在編程這條路上,如果想走的更遠,更久,那么你就需要不斷的去學習,不斷的充實自己,做一個堅定的長期主義者。

原創不易,希望給個關注,謝謝支持。

寄語

人生短暫,我不想去追求自己看不見的,我只想抓住我能看的見的。

我是阿輝,感謝您的閱讀,如果對您有幫助,麻煩關注、點贊、謝謝。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,505評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,556評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,463評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,009評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,778評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,218評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,281評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,436評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,969評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,795評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,993評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,537評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,229評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,659評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,917評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,687評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,990評論 2 374

推薦閱讀更多精彩內容

  • 我是2019年8月全面開始學習C++,之前只是有一點C++的基礎,僅看過《C++ prime Plus 第六版》,...
    fibonaccii閱讀 3,608評論 1 5
  • 前言 大家好啊,我是湯小圓。 今天給大家推薦的是,JavaWeb學習路線,希望對大家有幫助,謝謝。 絮叨 學習途徑...
    湯圓學Java閱讀 4,582評論 0 4
  • 第零部分 前端和數據庫基本知識 1.前端知識 HTML、CSS、 JavaScript、 Jquery 2.數據...
    墨說智能制造閱讀 2,449評論 0 0
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月,有人笑有人哭,有人歡樂有人憂愁,有人驚喜有人失落,有的覺得收獲滿滿有...
    陌忘宇閱讀 8,578評論 28 53
  • 人工智能是什么?什么是人工智能?人工智能是未來發展的必然趨勢嗎?以后人工智能技術真的能達到電影里機器人的智能水平嗎...
    ZLLZ閱讀 3,813評論 0 5