C# 基礎知識系列- 16 開發工具篇

0. 前言

這是C# 基礎知識系列的最後一個內容講解篇,下一篇是基礎知識-實戰篇。這一篇主要講解一下C#程序的結構和主要編程工具。

1. 工具

工欲善其事必先利其器,在實際動手之前我們先來看看想要編寫一套C#程序需要做哪些準備吧。

1.1 選擇

C# 的sdk在之前的某個時間點分為了三個方向:

  1. .net framework 4.X
  2. .net core
  3. mono
  4. UWP

有人可能問了,.net和C#是什麼關係。首先需要明確一個概念,C#是一門編程語言,.net是一個CLR,即公共語言運行庫。這部分概念比較抽象,不過我這麼說大家可能會理解裏面的關係了:C#是.net支持的一門語言,於此同時.net還支持F#,Visual C++等。也就是說,.net是一個平台,而C#是運行在這個平台上的語言。

不過,通常上因為.net支持的其他語言並不如C#出名,所以很多人就忽略了兩者之間的區別,有時候也用.net代指C#了。

講了這麼多廢話,回到之前。.net分了三個方向,第一個方向是沿用之前版本,繼續深耕Windows環境。.net core是微軟為了跨平台戰略而開發的,目前支持 Windows/Linux/Mac等系統。後續的文章也將基於.net core進行。Mono是早期在Linux環境中支持.net framework的一套SDK,後來微軟把這項技術合併到了.net發展戰略里了,現在支持Android、Mac應用開發。最後一個是UWP,通用Windows平台,據說是為了物聯網研究的。

嗯,因為我的工作方向是 BS,也就是做網站開發的,再加上需要接觸一些Linux的系統,所以整體就在.net core這個框架下進行後續開發和工作了。換句話說,整個C# 系列都是在.net core上運行的。

1.2 開發工具

在選擇了.net core之後,我們就要選擇一個適合我們的開發工具了。

1.2.1 Visual Studio

先放一張Visual Studio 2019的圖。

img

這是到目前(2020年05月05日)為止,微軟開發的最強大的編譯器。在編譯器界,Visual Studio有着「宇宙第一編譯器」的美名。當然最早是因為其安裝包十分巨大,動則2~3G的全量安裝,再加上其昂貴的正版授權價格,所以被稱為第一編譯器。後來隨着微軟更改了安裝方式,改為在線安裝然後模塊化安裝,讓程序員可以用哪些裝哪些,減少了安裝包的大小,同時進一步增強了作為編譯器的功能,添加了Community版本(社區版,免費的)之後,第一編譯器就成了名副其實的美名。

下圖是 Visual Studio支持的功能:

image-20200505180109379

具體的安裝就不演示了,這部分網上教程也比較多。如果有疑問的話,可以留言或者私信我哦。

當然了,即使是旗艦版,Visual Studio2019在網上也有很多激活碼 ,不過對於公司的話,這部分可能會有法律風險。個人學習研究的話,沒事。笑XD

1.2.2 Visual Studio Code

嗯,Code是微軟開發的另一個神器,憑藉著其輕量、開源和免費這幾大特性迅速佔領了開發者們的內心。再加上其豐富的插件支持,更是讓人慾罷不能。

Code支持跨平台,Windows/Linux/Mac都支持。下圖是示意圖:

img

1.2.3 Jetbrains Rider

這是捷克一家軟件公司開發的編譯器,支持跨平台。語言的智能提示比VS好一點,而且也輕一點。這是它功能特定的宣傳圖:

image-20200505182318350

可以說功能非常強勁,當然了也是收費的。目前市面上沒有很穩定的科學方法。咳咳,我啥也沒說。

1.2.4 總結

如果是初學者,我建議使用Visual Studio ,不愧與第一編譯器的美名。如果是在Linux環境的話,初學者建議試試Rider。

當然了,對於極客或者Linux環境但預算不高的小夥伴可以試試VS Code,搭配好插件功能也不比另外的編譯器差到哪裡去。

註:Rider單個軟件的訂閱是 139美元一年(首年),不過據說有免費的方式。

關於選擇編譯器的問題,如果是Linux環境,需要事先安裝 .net core sdk。這部分內容請參照微軟的官方,搜索關鍵詞:net core

image-20200505183203359

這個頁面點進去就行,如果在安裝過程中有疑問歡迎留言,私信我。

對於Visual Studio則沒有這部分煩惱了,只需要在安裝過程中選中 net core開發支持即可。

當然,還有更究極的開發方式:使用文本編輯器,然後用命令行dotnet執行。嗯,這樣很牛但是挺累的,我就不推薦給你們了。

2. 項目類型

image-20200505183542431

這是在.net core上支持的一些通用的項目類型,我們常用是 console類型(一個控制台程序)、mvc(asp.net core版的mvc項目)、web (一個網站項目)等。

具體的項目情況會在後續的篇幅中介紹,記住net core支持這些類型的項目即可。

3. 總結

這一篇稀里糊塗的介紹完了,之後還有一個實戰系列。完結之後,C#的基礎知識系列就暫時告一段落了,不過後續還有可能會針對單個知識點的深入講解,按照計劃如果知識點比較大將會新開一個系列,比如之前的多線程和任務那一章,其實是C# 並發編程系列的開篇 。不過下一個系列應該是 C# 數據訪問系列。這個系列講解如何通過ADO.net、EF、Nhibernate等框架操作數據庫。

那麼,敬請期待第一個實戰篇吧,親愛的小夥伴們。

最後的最後,有問題可以隨時回復或私信。當然了,我寫的有錯誤或者不嚴謹或遺漏的地方也請指出哦。

更多內容煩請關注我的博客《高先生小屋》

file

Tags: