C#是一種高階程式設計語言,是一種安全、穩定、簡單、優雅的程式語言,它與Visual Basic有許多相同的地方,同時也有很多不同的地方。我們今天這篇部落格本著學習C#的原則,著重介紹C#與Visual Basic的相同點和不同點。從幾個方面分別闡述。限於篇幅的原因,我們可能會分成幾個部分,以幾個部落格的形式呈現出來。希望大家多多關注,多提寶貴意見,我們共同進步!下面進入正題-
C#與Visual Basic一樣,是一種物件導向的視覺化程式設計語言。 C#以其強大的操作能力、優雅的語法風格、創新的語言特性和便捷的面向組件編程的支持,成為.NET開發的首選語言。基於對C#更好更全面的學習,我們將C#與Visual Basic語言等同起來,比較一下二者的異與同。 產生: 要說一門語言,首先不能放過的自然是它的產生。雖然就程式設計而言,語言的產生並不是這門語言的重頭戲,但卻也是不可忽視的一部分。追溯其根源及其產生發展,有利於我們更好的了解、學習、掌握這門語言。這裡我們簡單介紹一下。 先說Visual Basic,簡稱VB,是美國微軟公司(Microsoft)推出的基於Windows作業系統環境下的軟體開發工具,是一種功能強大的高階程式設計語言。可以說,Visual Basic是所有程式設計語言中最為基礎的語言,或許很多人對它的學習不屑一顧。但是,正因為基礎,它的學習才會為以後學習其他程式語言打下良好的基礎,你會發現再接觸一門新的程式設計語言時,不會那麼困難。 (後面我會專門寫一篇文章介紹關於VB的基礎學習對於學習其他程式語言的重要性,這裡不再贅述) 再說一下C#,C#讀作C Sharp,它是微軟公司2000年發布的一種新的程式語言,是主要由AndersHejlsberg主持開發的,是第一個以元件為導向的程式語言。它是由C和C++衍生出來的,並在C和C++的基礎上強大了一些功能,同時也去掉了一些它們的複雜特性,綜合了VB簡單的可視化操作和C++的高運行效率。 舉個例子: 這是一個顯示Welcome to the C# learning!的程序,下面展示的是這個相同的程序在C#中和在VisualBasic中的代碼及介面顯示。我們來逐一分析一下。 這是C#的運行窗體介面[csharp]using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 我的範例Hello_World { class PRogram { static void Main(string[] args) { Console.WriteLine("Welcome to the C# learning!!!"); } } }這是C#實作上述介面的程式碼部分這是VB的運行窗體介面[vb] Private Sub Form_Load() Me.AutoRedraw = True FontSize = 18 FontBold = True Print "Welcome to the C# learning!!!" End Sub [ vb] Private Sub Form_Click() FontSize = 18 FontBold = True Print "Welcome to the C# learning!!!" End Sub 這是VB實作上述介面的程式碼部分。接觸過VB的人都知道,這是用兩種不同的方式來實現上述介面的。一個用的是Click事件,一個是Form_Load事件。 透過上述幾張圖片的比較,我們可以很清楚的看出C#與VB的差異所在。上面的範例程式碼是很簡單的,所以可能效果不是特別的明顯。比較C#和VB,其實實現這個範例不過就是一句程式碼的事兒。在VB中可以加入一個控件,拿加入一個Label控件來說,程式碼可以直接寫成[vb] <span > Label1.Caption = "Welcome to the C# learning!!!" </span> C#中的程式碼,究其實,其實也就是一句話,把這行程式碼單獨拿出來,如下:[csharp] <span > Console.WriteLine("Welcome to the C# learning!!!");</span> 這下好了,把VB這行程式碼和C#的程式碼比較一下,你會發現二者還真的有點像,但又不一樣。先看VB的程式碼,它的程式碼意思是:Label1(這個控制項)的Caption(標題)是Welcome to the C# learning!!! ; C#的程式碼,它的意思是:Console(控制台類別)的WriteLine(方法)顯示文字行"Welcome to the C# learning!!!" 。都是顯示文本,表示的方法卻截然不同:VB中有等號,在C#中等號卻是賦值的意思,雙等號==才是和VB中=相同的意思;而且在C#中WriteLine方法把要表示的文字行用括號括起來,並且要注意的是程式碼行尾部有個分號,即;。在大量接觸C#後,你會發現,在C#的程式碼中,很多程式碼後面都有分號-;,如下面這個程式碼:[csharp] using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 我的範例1 { class Program { static void Main(string[] args) { for (int i = 0; i < 10; i++) { Console.Write("請輸入語句(輸入end結束):"); string s = Console.ReadLine(); if (s == "end") { break; } Console.WriteLine("您輸入的單字: " + s); } } } } 以後大量接觸C#時就會發現一行程式碼後要加分號,在C#程式碼語言區塊用{ }括起來,結尾是不帶分號的。這隨著學習C#的深入和程式碼量的增加,會一點點摸出規律的。 註解方法:[vb] [csharp] //這是C#程式碼using System; //匯入System命名空間using System.Collections.Generic; using System.Linq; using System.Text; namespace 我的範例Hello_World //宣告命名空間我的範例Hello_World { class Program //宣告Program類別{ static void Main(string[] args) //程式入口點,Main的回傳型別為void { Console.WriteLine("Welcome to the C# learning!!!"); //控制台類別的WriteLine()方法用來顯示輸出結果} } } 這是C#的程式碼註解方法[vb]Private Sub Form_Load() Me.AutoRedraw = True FontSize = 18: Rem 設定字體大小FontBold = True: Rem 字體加粗Print "Welcome to the C# learning! '螢幕顯示內容End Sub 這是VB的程式碼註解方法。 C#的註解方法較為常用的就是在程式碼後面加上雙斜線,即//,上面的圖片已經做了很好的顯示,當然C#的註解方法並不是只一種,雙斜線是用於單行註釋,雙行註解則用/*….*/。其中//是一段程式碼註解;/*這是一段程式碼註解*/。不僅如此,下面這張表介紹了更多的註釋方法,有興趣的可以研究一下。 VB展示了兩種不同的程式碼註解方法。學過VB的人都知道,VB的註釋方法有兩種(暫時我只知道這兩種方法),一種是單引號,在代碼後加入英文狀態的單引號;另一種Rem註釋,即在代碼後面加冒號,加Rem,加註解。相對而言,第一種註釋方法是比較常見,也是比較常用的。