C#語言

C#中的基本類型都是面向對象的。 · ·

基本內容

C#(讀做 "C sharp",中文譯音暫時沒有.專業人士一般讀"C sharp",現在很多非專業一般讀"C井"。C#是一種安全的、穩定的、簡單的、優雅的,由C和C++衍生出來的面向對象程式語言。它在繼承C和C++強大功能的同時去掉了一些它們的複雜特性(例如沒有宏和模版,不允許多重繼承)。C#綜合了VB簡單的可視化操作和C++的高運行效率,以其強大的操作能力、優雅的語法風格、創新的語言特性和便捷的面向組件編程的支持成為.NET開發的首選語言。並且C#成為ECMA與ISO標準規範。C#看似基於C++寫成,但又融入其它語言如Pascal、Java、VB等。
微軟c#語言定義主要是從C和C++繼承而來的,而且語言中的許多元素也反映了這一點.C#在設計者從C++繼承的可選選項方面比Java要廣泛一些(比如說struts),它還增加了自己新的特點(比方說原始碼版本定義).但它還太不成熟,不可能擠垮Java.C#還需要進化成一種開發者能夠接受和採用的語言.而微軟當前為它的這種新語言大造聲勢也是值得注意的.目前大家的反應是:"這是對Java的反擊." C#更像Java一些,雖然微軟在這個問題上保持沉默.這也是意料中的事情,我覺得,因為Java近來很成功而使用Java的公司都報告說它們在生產效率上比C++獲得了提高. Java所帶來的巨大影響和大家對它的廣泛接受已經由工作於這種語言和平台之上的程式設計師數量明顯的說明了(估計世界範圍內共有兩百五十萬程式設計師使用Java).由這種語言寫成的應用程式的數量是令人驚訝的並已經滲透了每一個級別的計算,包括無線計算和行動電話(比如日本發明的Java電話).C#能夠在用戶領域獲得這樣的禮遇嗎?我們必須等待並觀望,就像已經由SSI公司的CEO和主席Kalpathi S. Suresh指出來的那樣,"我發現所有這些都是漸進的.如果C#不存在,我們總能回到Java或C和C++.這些都不完全是新技術;它們在更大的意義上來說只是大公司製造的市場噱頭.我們必須給他們時間安頓下來看看這些是不是真的對IT工業有什麼影響."

什麼是C#?

1.C#及其特點

C#是微軟公司在2000年6月發布的一種新的程式語言,並定於在微軟職業開發者論壇(PDC)上登台亮相。C#是微軟公司研究院Anders Hejlsberg的最新成果。C#看起來與Java有著驚人的相似;它包括了諸如單一繼承、界面、與Java幾乎同樣的語法,和編譯成中間代碼再運行的過程。但是C#與Java有著明顯的不同,它借鑑了Delphi的一個特點,與COM(組件對象模型)是直接集成的,而且它是微軟公司.NET windows網路框架的主角。
微軟C#語言定義主要是從C和C++繼承而來的,而且語言中的許多元素也反映了這一點。C#在設計者從C++繼承的可選選項方面比JAVA要廣泛一些(比如說struts),它還增加了自己新的特點(比方說原始碼版本定義)但它還太不成熟,目前不可能擠垮JAVA。C#還需要進化成一種開發者能夠接受和採用的語言。而微軟當前為它的這種新語言大造聲勢也是值得注意的。目前大家的反應是:“這是對JAVA的反擊”。
C#更像JAVA一些,雖然微軟在這個問題上保持沉默。這也是意料中的事情,因為JAVA近來很成功而使用JAVA的公司都報告說它們在生產效率上比C++獲得了提高。
JAVA所帶來的巨大影響和大家對它的廣泛接受已經由工作於這種語言和平台之上的程式設計師數量明顯的說明了(估計世界範圍內共有兩百五十萬程式設計師使用JAVA)。由這種語言寫成的應用程式的數量是令人驚訝的並已經滲透了每一個級別的計算,包括無線計算和行動電話(比如日本發明的JAVA電話)。C#能夠在用戶領域獲得這樣的禮遇嗎?我們必須等待並觀望,就象已經由SSI公司的CEO和主席KALPATHI S. SURESH指出來的那樣:我發現所有這些都是漸進的。如果C#不存在,我們總能回到JAVA或C和C++。這些都不完全是新技術,它們在更大的意義上來說只是大公司製造的市場噱頭。我們必須給他們時間安頓下來看看這些是不是真的對IT工業有什麼影響。
C# 是微軟對這一問題的解決方案。C#是一種最新的、面向對象的程式語言。它使得程式設計師可以快速地編寫各種基於MICROSOFT .NET平台的應用程式,MICROSOFT .NET提供了一系列的工具和服務來最大程度地開發利用計算與通訊領域。
正是由於C#面向對象的卓越設計,使它成為構建各類組件的理想之選——無論是高級的商業對象還是系統級的應用程式。使用簡單的C#語言結構,這些組件可以方便的轉化為XML網路服務,從而使它們可以由任何語言在任何作業系統上通過INTERNET進行調用。
最重要的是,C#使得C++程式設計師可以高效的開發程式,而絕不損失C/C++原有的強大的功能。因為這種繼承關係,C#與C/C++具有極大的相似性,熟悉類似語言的開發者可以很快的轉向C#。
C#是微軟公司在2000年7月發布的一種全新且簡單、安全、面向對象的程式設計語言,是專門為.NET的套用而開發的語言。它吸收了C++、Visual Basic、Delphi、Java等語言的優點,體現了當今最新的程式設計技術的功能和精華。C#繼承了C語言的語法風格,同時又繼承了C++的面向對象特性。不同的是,C#的對象模型已經面向Internet進行了重新設計,使用的是.NET框架的類庫;C#不再提供對指針類型的支持,使得程式不能隨便訪問記憶體地址空間,從而更加健壯;C#不再支持多重繼承,避免了以往類層次結構中由於多重繼承帶來的可怕後果。.NET框架為C#提供了一個強大的、易用的、邏輯結構一致的程式設計環境。同時,公共語言運行時(Common Language Runtime)為C#程式語言提供了一個託管的運行時環境,使程式比以往更加穩定、安全。其特點有:
· 語言簡潔。
· 保留了C++的強大功能。
· 快速套用開發功能。
· 語言的自由性。
· 強大的Web伺服器控制項
· 支持跨平台。
· 與XML相融合。

2.C#與C++的比較

C#對C++進行了多處改進,主要區別如下:
· 編譯目標:C++代碼直接編譯為本地可執行代碼,而C#默認編譯為中間語言(IL)代碼,執行時再通過Just-In-Time將需要的模組臨時編譯成本地代碼。
· 記憶體管理:C++需要顯式地刪除動態分配給堆的記憶體,而C#不需要這么做,C#採用垃圾回收機制自動在合適的時機回收不再使用的記憶體。
· 指針:C++中大量地使用指針,而C#使用對類實例的引用,如果確實想在C#中使用指針,必須聲明該內容是非安全的。不過,一般情況下C#中沒有必要使用指針。
· 字元串處理:在C#中,字元串是作為一種基本數據類型來對待的,因此比C++中對字元串的處理要簡單得多。
· 庫:C++依賴於以繼承和模板為基礎的標準庫,C#則依賴於.NET基庫。
· C++允許類的多繼承,而C#只允許類的單繼承,而通過接口實現多繼承。
在後面的學習中會發現,C#與C++相比還有很多不同和改進之處,包括一些細節上的差別,這裡就不一一列舉了。
3.C#與Java的比較 · C#面向對象的程度比Java高。
· C#中的基本類型都是面向對象的。
· C#具有比Java更強大的功能。
· C#語言的執行速度比Java快。

相關詞條

相關搜尋

熱門詞條

聯絡我們