C#零基礎小白快速入門指導

前言

本文寫給想學C#的朋友,目的是以儘快的速度入門

C#好學嗎?

對於這個問題,我以前的回答是:好學!但仔細想想,不是這麼回事,對於新手來說,C#沒有那麼好學。
反而學Java還要容易一些,學Java Web就行了,就是SpringBoot那一套。
但是C#方向比較多,你是學控制檯程序、WebAPI、ASP.NET、Winform還是WPF?如果再區分一下.NET Framework和.NET Core,應用程序類型就更多了。
我建議可以通過控制檯程序和Winform入門,這樣才簡單。
控制檯程序可用於寫Hello World,以及學習語法的時候寫一些小Demo。使用Winform,就可以寫一些小應用了,比如計算器、時鐘,以及你能想到的小工具,都可以用C#寫。
比如計算器程序,可以寫的很簡單,也可以寫的很複雜,這是我2012年寫的:Calculator
萬事開頭難,簡單入門之後,C#的簡單易學才真正體現出來。

C#怎麼學?

不建議看視頻學習,除非你確實找到了不錯的入門視頻,原因:
1、C#優秀入門視頻不多。
2、看視頻學習速度慢。只學語法沒有用,看不到學習成果,學完就扔了。所以爲了快速學完語法,再學實用的內容,最好看書。

這裏推薦一本從噹噹網搜索到的書,《C#入門經典》第9版,書的內容更新至C#9和.NET5,很新了。

如果你有更好的書,也可以。

書怎麼看?

  1. 前兩章瞭解,學完知道怎麼編寫控制檯程序,也就是怎麼寫Hello World。
  2. 後面幾章是重點,講語法,包括變量、表達式、數據類型、流程控制、函數、面向對象、類、集合、泛型。
  3. 後面是高級內容,可以先不學,也可以選學、有空再學,或者用到了再學。
  4. 簡單學習一下Winform,會使用VS2022創建Winform程序,會拖控件。最簡單的,雙擊控件就可以編寫代碼了。拖控件幹什麼?學會拖控件,你就可以發揮自己的想象力了,寫個計算器、寫個小工具等,我上學那會寫過屏保(用VB寫的,跟C#是一樣的,書上可沒有這個,就是發揮想象力,你想到個點子,自然就知道去研究怎麼寫),寫過時鐘程序,寫過定時自動關機等。

然後

恭喜你!你已經入門了!這意味着什麼,只要有公司要你,你就可以幹活了!
可是、可是,公司做Web項目,我ASP.NET還沒學啊?你只要會照葫蘆畫瓢,你就能幹活了!
當你幹了兩天活之後,對於ASP.NET的學習,你是買書,還是看視頻,隨你便。
我以前就是這樣入門的,那是十幾年前了,現在太捲了。參與項目,纔會學的更快。

如果你知道微軟的文檔怎麼看,那更好

例如:

  1. 《C# 編程指南》 講C#語法的,還不錯
  2. 《.NET 文檔》 講實在的,對於新手來說,真沒法看了,範圍有點大,所以我說你知道怎麼看最好,不知道以後再說。點擊《使用 ASP.NET Core 創建 Web 應用》可以跳轉到更具體的《ASP.NET 文檔》
  3. 《ASP.NET 文檔》 這個範圍稍微小一點,主要講Web API、ASP.NET Core MVC、Blazor等
  4. 《使用 ASP.NET Core 創建最小 Web API》 《使用 ASP.NET Core 控制器創建 Web API》 這個範圍再具體一點,看完就可以寫Web API了,這個有用

入門的關鍵點

  1. 學會基本的語法。(不會Lambda表達式不影響寫C#代碼,要學的話,先記住一種固定寫法,幾分鐘就能學會)(例如我至今不太清楚"協變"與"逆變",但不影響我寫代碼,報錯了,就說明這樣寫不行唄)
  2. 學會使用VS2022創建控制檯應用程序和Winform應用程序。學會拖控件、設置控件屬性和事件、調試。對於VS2022的使用,自己探索,反正都是漢化版的,多點點就行。
  3. 嘗試寫點小工具,最好能參與到項目中,不會就百度,百度時,搜索關鍵詞一般是“C# XXX”、“Winform XXX”、“.NET XXX”、“.NET6 XXX”、“.NET Core XXX”。
  4. ASP.NET Core MVC是有點複雜,學習需要點時間。ASP.NET Core Web API就可以很簡單,可以先學這個。

.NET Framework 和 .NET Core

新手可以直接學習.NET Core,別管.NET Framework了

.NET官方自帶的庫

學完了語法,學會了如何創建控制檯程序、Winform程序、Web API程序、ASP.NET Core Web程序,下一步就是實際工作了,最重要的就是學會各種庫的使用。
當你創建一個工程,VS2022會幫你自動引入自帶的庫,主要是System開頭,有的是Microsoft開頭,文檔:.NET API 瀏覽器,這個文檔我沒有正經看過,我都忘了自己是怎麼學會的了,在工作中學的吧,我也只會其中比較常用的部分。

NuGet

NuGet 是免費、開源的包管理開發工具。https://www.nuget.org/

光有官方自帶的庫,是不夠的,這就需要第三方開源庫。NuGet是非常人性化的。
以Dapper這個ORM庫爲例:

1. 庫的下載量、最近更新時間、最新版本號

搜索我們要安裝的庫,我們可以看到一些關鍵信息:下載量、最近更新時間、最新版本號,下載量大的庫,一般都是主流的庫,如果你看到一個庫,下載量很小,那你要謹慎一點。

2. 庫的當前版本支持的框架

可以看到這個庫是在.NET 5.0、.NET Standard 2.0和.NET Framework 4.6.1框架下編譯的(深色),可以看到支持(兼容)哪些框架及版本(淺色)

3. 庫的依賴庫

VS2022會自動管理依賴庫以及它們的衝突,一般不需要手動處理。當然遇到衝突且無法自動解決的情況下,也有配置方法。

4. 每個版本的下載量、發佈日期

這個很重要,很多年沒有更新的庫,你要謹慎一點。

5. 我的項目使用的是.NET Framework 4.5.2,這個庫裝不上怎麼辦?


點開1.60.6這個版本,這是net452框架能用的最新的版本了

6. 庫的安裝


選擇工程、選擇版本,點擊安裝

7. 已安裝的庫

可以通過NuGet包管理器的"已安裝"選項卡查看已安裝的庫,也可以工程文件中看到安裝的庫
這裏依賴庫、依賴庫的依賴庫,是沒有列出來的,非常清爽

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章