VB.Net 和 C#,開發 WinForm 應用程式我該選哪個好?

VB.Net 和 C# 都是 Microsoft .Net Framework 框架中的兩種物件導向程式語言。剛安裝 Visual Studio 的時候,一定會猶豫第一的專案要用 VB.Net 還是 C# 吧?究竟這兩個程式語言該怎麼選才對?

VB.Net 和 C#,開發 WinForm 應用程式我該選哪個好?

VB.Net 和 C# 都是 Microsoft .Net Framework 框架中的兩種物件導向程式語言。剛安裝 Visual Studio 的時候,一定會猶豫第一的專案要用 VB.Net 還是 C# 吧?究竟這兩個程式語言該怎麼選才對?

雖然大部分的人都會使用 C、C++、Java,甚至是後來興起的 Python 來寫一些程式。不過對於初學者來說,要寫個 WinForm 應用程式,應該還是會先想到 .Net Framework 吧?

說到 VB.Net,大概是對初學者來說非常友善的語言。整個程式撰寫過程中把介面和程式分開,甚至只需要一個一個把 Sub 和 Function 組合起來就好了,連變數都可以直接用 Dim foo As Integer 來宣告。

而 C# 則是比較類似 C 的語言,整個就和 C 差不多的嚴謹,只是多了物件導向,而且可以設計界面。畢竟當初推出 C# 就是為了打 JAVA 的?

VB.Net 的特色

如果你只是心血來潮,想開發一個有視窗的程式,那我推薦你學 VB.Net。我也是從 VB.Net 開始碰的,你不用太去注意它的結構,甚至不用去理解物件導向到底是什麼,只要拉個按鈕,點兩下,開始寫按下這個按鈕要幹嘛就可以了。

你說這樣學不到東西?但我所有 function、變數、迴圈、陣列的概念都是從 VB.Net 學來的,雖然寫法和大部分的程式語言很不一樣,但在概念上是可以互通的。

而且 VB.Net 裡面還有一個超棒的 my 類別可以用,裡面提供了一些很方便的功能,包括檔案處理都可以直接用。

C# 的特色

如果你想認真寫好程式,可是想一開始就碰有視窗的程式,那我推薦你從 C# 開始。C# 在整個結構上就和 C、JAVA 沒有太大的不同,而且在比較條件的時候,用的是 == ,在指定變數值的時候用的是 =,不像 VB.Net 裡面都用 =,如果從 VB.Net 轉手其他語言,這種概念的確會比較困難。

類似的情況還有:C# 在陣列會使用 []、函數使用 (),VB.Net 卻都用 ();C# 用 {}、VB.Net 用 BeginEnd;C# 用 if( condition ) { statement },VB.Net 卻用 If condition Then statement End If ……,我想我沒辦法舉完所有的例子。

更重要的是:你寫 C# 的時候可以養成一個寫 ; 的好習慣。

大部分的人都在寫什麼?

在網路上,絕大部分的範例都是 C# 比 VB.Net 還要多,不相信的話,來看看 Google 搜尋趨勢吧。以下是 2014 年 1 月一直到 2015 年 9 月的搜尋趨勢。

我們可以看到紅色的 C# 一直勝過藍色的 VB.Net。

再舉個例子好了,我大一程式設計課的時候,教授教 C 語言,而自由活動時間我的畫面一直都是 Visual Studio。然後我就被關心了:「咦?在寫什麼啊?C Sharp (C#) 嗎?」我說「不是,我在寫 VB (VB.Net)。」然後我就當場被念了一下:「幹嘛寫 VB,VB 很沒有結構化欸,而且它……。要就寫 C Sharp 啦!」

我還是不知道要選什麼程式語言?

如果你有熱誠,而且讀到這裡還在猶豫的話,那我真的要推你去寫 C# 啊!像我現在也比較喜歡用 C# 來寫,畢竟整個概念上和 C++、JAVA 都很像,但是舊的 VB.Net 大專案,要改成 C#,可不是一朝一夕可以完成的 (QAQ)。

老實說,會有這篇文,就是因為我手上有個 VB.Net 專案改不回來了……

我們正降低廣告比例以提升閱讀體驗。如果你喜歡這篇文章,不妨按下 Like 按鈕分享到社群,以行動支持我寫更多文章。 當然,你也可以 點此用新臺幣支持我,或 點此透過 BTC、ETH、USDC 等加密貨幣支持我
分享到: