在過去的二三十年內,商業軟體中有很多都是採用的是C和C++作為開發中的開發語言。儘管這樣,C和C++的許多不足也在多年的開發過程中逐漸體現出來,C和C++的靈活性犧牲了開發效率
像比較VB或則其他的開發語言而言,相同功能的C/C++軟體通常會需要更長的開發週期。開發效率的低下和開發週期較長,使得越來越多的C/C++開發人員開始尋找一種可以在功能和開發效率間提高更多平衡的開發語言。同樣,對於其他的部分開發語言而言,他們為了取得更好的開發效率,就採用犧牲靈活性來換取開發效率,實際上保持一定的靈活性對於軟體的開發語言而言是必要的。同時有些語言也不能輕易和現有的系統相結合,甚至不能與當前的WEB開發相結合。
隨著開發語言的不足逐漸暴露,軟體開發人員在呼喚一種新的開發語言的出現來代替C/C++。這種開發語言要求提供一個開發效率高,開發週期短,同時能夠使WEB開發變得相對更加容易方便,當然須要與現有的應用開發相結合。
C# (C sharp)是微軟對以上問題的解決方案。它是從C和C++語言演化而來的開發語言,它吸取以前的教訓,結合了C/C++開發語言的優勢,並且它是可用於建立要運行在.NET CLR上的應用程式的語言之一,是Microsoft專門為使用.NET平台而建立的。同時,C#的開發語言的推出,也是考慮了其他語言的許多優點,並解決了它們的問題。
由於C#的文法比C++的文法更加簡單,使用C#應用開發程式要比C++更加簡單。但是,我們並不能說C#就取代了C++,實際上C++也是自身的很多優勢,並且,它的功能的強大是不言而喻的。儘管c#的文法比C++的文法顯得更加簡單,實際上C#的代碼常常要比C++略長一些。這是因為C#是一種型別安全的語言(與C++不同)。C#代碼要比C++的代碼更健壯,調試也比較簡單,.NET總是可以隨時跟蹤資料的類型。
C#只是.NET開發的一種語言,它是專門為.NET Framework設計的語言,同時也是移植到其他動作系統上的.NET版本中使用的主要語言。在.NET Framework這種架構使C#組件可以方便地轉化為XML網路服務,從而使任何平台的應用程式都可以通過Internet調用它。,同時,由於C#是唯一為.NET Framework設計的語言,它能夠使用.NET Framework所提供的所有的程式碼程式庫中的每個功能,但是其他語言,比如VN.NET,就不能使用所有的程式碼程式庫中提供的所有的功能。為了滿足開發人員的要求,.NET的最新的版本還對C#語言進行了不斷的改進。
.NET Framework沒有限制應用程式的類型,因此使用C#可以開發Windows應用程式、Web應用程式、Web服務等等的應用程式,在這裡我們就來討論一下這幾種常見的應用程式類型:
Windows應用程式就是指為在Windows系統中運行而專門編製的應用程式,它用WindowsAPI(API)編寫,它必須包括一個主函數(Windows)和一個視窗函數。實際上Windows應用程式就如Microsoft Office,有我們很熟悉的Windows外觀和操作方式,使用.NET Framework的Windows Forms模組就可以產生這種應用程式。
Web應用程式就是Web頁,我們可以通過Web瀏覽器查看。在.NET Framework內包括一個動態產生Web內容的強大系統--Active Server Pages.NET(ASP.NET),這個系統允許個人化、實現安全等,我們可以使用C#通過Web Forms 建立ASP.NET應用程式。
Web服務是使用者通過互連網向伺服器發送一條XML訊息,然後收到一條XML響應訊息。可延伸標記語言 (XML)(XML)是描述網頁中及企業對企業商業檔案中資料元素的一種開放標準。通過提供簡單和普遍適用的標準,Web服務現在可以作為資訊系統整合及系統間自動化資訊交換的基礎。
Windows應用程式、Web應用程式、Web服務可以通過.NET Framework的Active Data Objects.NET(ADO.NET)部分來實現資料庫的訪問。也可以使用許多其他資源,例如建立連網組件、輸出圖形、執行複雜數學任務的工具。