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 style="font-size:18px;"> Label1.Caption = "Welcome to the C# learning!!!" </span> C#中的代碼,究其根本,其實也就是一句話,把這行代碼單獨拿出來,如下: [csharp] <span style="font-size:18px;"> 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!!!": Rem 屏幕顯示內容 End Sub [vb] Private Sub Form_Load() Me.AutoRedraw = True FontSize = 18 '設置字體大小 FontBold = True '字體加粗 Print "Welcome to the C# learning!!!" '屏幕顯示內容 End Sub 這是VB的代碼注釋方法。 C#的注釋方法較為常用的就是在代碼後加雙斜線,即“//”,上面的圖片已經做了很好的顯示,當然C#的注釋方法並不是只一種,雙斜線是用於單行注釋,雙行注釋則用“/*….*/”。其中//是一段代碼注釋;/*這是一段代碼注釋*/。不僅如此,下面這張表介紹了更多的注釋方法,有興趣的可以研究一下。 VB展示了兩種不同的代碼注釋方法。學過VB的人都知道,VB的注釋方法有兩種(暫時我只知道這兩種方法),一種就是單引號,在代碼後加入英文狀態的單引號;另一種Rem注釋,即在代碼後加冒號,加Rem,加注釋。相對而言,第一種注釋方法是比較常見,也是比較常用的。