如何學習C#編程?

希望可以找一個平台,可以系統的學習C#,自己一個人埋頭專研,代碼自己看得一頭霧水,這種感覺太難受了!大家有好的學習平台(無論收不收費)或者學習方式推薦嗎?


直接上,系統性的東西,等你熟練了,慢慢就懂了。C#這門語言牛逼的地方在於,你不知道的東西不會給你帶來影響,所以可以放心大膽地不系統學。


我一直覺得C#不值得系統學,語言沒什麼坑,語法設計的也很優秀,庫寫的又好,還有那麼牛逼的VS,你想寫什麼,直接開始擼就好了。


啊!只有我是從改bug入門C#的嗎?有一天,老闆讓我修復一個bug,這個程序是C#寫的,於是我安裝了VS,打開工程找到了代碼,讀了一下代碼明白了業務邏輯後修改了一個if條件。上傳代碼後同事編譯了一下,說測試ok了。

然後。。。

這個程序就歸我維護了。。。

我就這樣學會了C#。。。


剛好半年前開始自學c#。看了不少書籍,視頻,中間也走過彎路。感覺只是語言語法要求什麼的沒什麼特別難的。關鍵是面向對象編程的思維和代碼優化的能力。按照純小白學習進階的具體內容如下:

書籍推薦:

《c#從入門到精通》 清華大學出版社 適合純小白,裡面內容介紹個基本概念,但沒什麼深度

《c#本質論》這個出版社忘了。。。書中內容略晦澀,但是裡面示例代碼很好

《精通c#》圖靈圖書 稍有深度,需要耐心看,書中乾貨頗多

視頻推薦:

劉鐵錳c#入門詳解 貌似這個視頻挺早就有,對新手比較適用,堆棧數據存儲都有點到

c#基礎+Windows form基礎 科技傳播坊的 裡面配合《c#本質論》展開講解的 東西還不錯,但是講課那哥們兒說話的腔調總有點哮喘上不來氣的感覺

面向對象軟體開發 金旭亮 裡面乾貨滿滿,在你看了上面基礎不知道如何應用時,這個絕對可以給你指出一條明路


淘寶五塊錢幾十G的視頻


對於零基礎開始學語言,我來說說自己的見解:

NO.01 不要一開始就從網上下載一個現成的項目,以為看懂這個項目,就學會了該門語言,這其實真的是走彎路。這種學法大有人在。項目寫得太難理解,你會望而生畏懷疑自己智商,項目寫得太差,那更不用說了。

NO.02 開始的時候不要以「我猜我猜我猜猜猜」的方式去學,歸根到底,語言就是人定製出來的一堆套路,怎麼定義變數,怎麼實現循環等等這些語法,都是固定的套路,學這些套路,可以看書,也可以看視頻,看書的話我覺得可以從& 開始,這本書,我覺得可以按 2,3,4,6,7,10,32,5,11(章節)這個順序先摸一摸這門語言。按著書上的列子多寫。看視頻的話,可以看看傳智楊中科那一期,但是相對來說確實舊了一點,但用來入門基礎應該是夠了。學好基礎真的是首要,先去把基礎語法學好,知道這門語言能幹什麼以及怎麼干,再去想更深一層的面向對象或者設計模式,先易後難,才能給自己「能學好它」的正面反饋。學好基礎還有另外一個好處,當你遇到想實現的功能但是不懂怎麼干然後去問人的時候,可能別人提幾個關鍵詞你就會了,沒基礎的話別人說完關鍵詞一看你啥都不懂,那就得看別人有沒有時間願不願意從基礎說起了。

NO.03 培養自己的debug思維,不要遇到問題就立刻問別人,先自己思考,不行再谷歌一下,谷歌不了就百度一下,最後再問人。debug是一個很重要的能力指標。

以上。


我有傳智net24期的全部視頻

當年就是看傳智的視頻入的坑,到現在

評價下,傳智講的雖然不算很深,時間問題,但是基本的能力該教的都教了,其他的自己搜清華大學出版社的那一堆跟c#有關的書去,有這些底子去看那些書完全沒阻力,

我現在就是看完傳智的再去看紅寶書(?是這麼叫吧)系列

還要學會利用vs,比如那個比vs還大的幫助文檔庫(MSDN),查一些類的繼承關係還是不錯的

輪子哥安利後目前在看WPF~(學校之前教過uwp部分,不過我是看傳智視頻學的,比學校教的好多多多多了,然後看這個目前除了命令那塊還沒別過來外,一路暢通~)


soha的第一個c#程序是一個用於比賽的robotcode你信嗎

orz


C#牛不牛我不知道,可是VS真的是地表最強IDE,當初給公司的51平台寫bootloader,因為是自定義的通訊協議,需要同時開發個簡單的上位機用於測試,憑著VS牛逼的代碼補全和提示,再加上直接F1就是MSDN,一兩天就弄了個簡單可用的DEMO,基本上有C的經驗就可以直接開干。

如果想系統的學習,我覺得微軟的C#語言規範可以看看。如果只是像我一樣就寫寫自己或者組內小範圍內用的工具類軟體,把需求理清楚,裝好VS,多谷歌多F1就差不多了


學C#我用了2周時間,學VB我用了1周時間,學Javascript我用了3天時間,學Python我用了2天。這些都是我做實際項目前用的熟悉時間,真的,不說瞎話,水平如何不敢說,但確實給公司賺了錢,很多方面還被推崇為專家。

但是老子TM學C++用了20年了,還沒找到感覺,看了新的C++標準,感覺又要從頭學習了。跟C++比,C#太簡單好學了,加上VS,裝好MSDN什麼的,想要什麼有什麼。


去看劉鐵猛老師的C#入門視頻吧


我C#就買了本《C#入門經典》然後學了一個星期就開始玩WPF了,這語言沒什麼坑,而且還有很優秀的語言特性(比如async await這些)計算機素養好一點的都能快速上手

當然你如果想深入一點,那就看看《深入理解C#》這本書(傳說中的趙三本之一)


head first C#

VS2017

堅持


雲課堂大學計算機專業里的《C#程序設計》和《面向對象軟體開發》系列課程。

C#這語言呢,如果你有C++和JAVA基礎的話就可以跳過大部分語法部分,直接上手寫,語法層面只要注意一些C#特有的東西,比如委託啊事件啊就可以了


先學基礎語法

再學流程式控制制

基本就可以做小damon了.

再清晰你想走b/s還是想走c/s方向(不過根據個人經驗基本以後都會了)

如果走b/s方向.還要學html,css,javascript,通過vs這個牛(和諧)的IDE選擇項目模板(MVC)創建項目

創建如下:

1:

2:

這時候就可以自己擼代碼了.如果一臉懵逼不知道怎麼辦?簡單.看一下自帶的示例.

下一步就會想到關於數據存儲面臨選擇(MSSSQL,mysql,redis,mongo等等)

這個時候基本已經入門了.然後進階就是各種框架的選擇及使用

如果選擇的是C/S方面 那就愉快的使用vs拖控制項吧,遇到控制項不會使用的,就百度一下~~


C#的好處在於上手不難,而且有很多種寫法可以達到你的目的。

特別是即使百度都有大把大把的資料往你面前堆,開發起來的難度不算很高;

當然看你的問題主要是亂,因為不知道你是否一上手就打算開發個很流弊的系統,那欲速則不達,哪種語言學起來都沒這麼簡單。

但如果是一個簡單的winform還是ASP,只要把你想要開發的東西(例如C# 資料庫),一下就能理解到幾種將資料庫的內容載入到datagridview的方法(而且datagridview不知道是什麼,也可以直接搜索datagridview,基本上理清思路就好解決了)。

入門簡單,進階就難了,理解能力好,基本上自學都能超越很多人,而且在不斷地學習中,也能找到更方便的寫法。

而且無論哪種語言,起碼先給自己定位一個需求,然後根據這個需求擬定計劃,根據計劃一步步尋找實現的方案,寫著寫著就進步了。

因為我自學的C#,路線也是這樣過來的。


買本入門書,比如《C#入門經典》,看完之後開始寫代碼。寫熟了之後,買本

《C#高級編程》,然後看著目錄哪感興趣學哪,這就行了。再往後我想你就知道以後該怎麼學了


兩年前一個同事離職,接手個了C#客戶端爛攤子(服務是我寫的)。

WinForm,爛到沒法維護,我就用WPF重寫了個功能精簡版丟給客戶了,順便學會了C#。

PS:要跟一堆硬體連,還是挺麻煩的。


只能說你需要head first系列以及c#真是好語言


比C草簡單,但是沒有需求硬學肯定枯燥,推薦你帶需求學。


推薦閱讀:

有哪些原因會導致HRESULT:0x800704A6提示已經計劃系統關機,除了更新系統或瀏覽器?
如何看待 Unity 與 Xamarin 均僅支持 C# 而不支持 VB.NET?
entity framework中怎麼通過lambda表達式生成sql語句的?
UWP應用為什麼比桌面應用要佔用相對較多的資源?

TAG:C# | MicrosoftVisualStudio | C#編程 |