国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

選擇VB.Net還是C#(轉(zhuǎn))

2024-07-10 13:02:05
字體:
供稿:網(wǎng)友


面向?qū)ο蟮某绦蛟O(shè)計不可避免的將會出現(xiàn)在.net的世界里?,F(xiàn)在問題是,我們要選擇哪一種語言呢?

(飛刀前言:如果您是vb程序員,那么本文將會為您介紹vb.net與以前版本vb的區(qū)別,如果您是c#、c++,c,java程序員,本文最好不要看,此文的作者的某些觀點會讓我們這些程序員吐血)

在vb.net中,微軟給與了vb程序員們多年來夢寐以求的東東,也就是真正的面向?qū)ο蟮某绦蛟O(shè)計語言。也許您已經(jīng)聽說了,vb.net與他的前身vb有很大的不同,甚至您都不會認(rèn)識它了。確實,他們不得不刪除了一些細(xì)小的東東,同時改變了一些對象,屬性以及方法,但是這些對一個vb程序員來說都不是什么大問題。實際上,我認(rèn)為一旦您已經(jīng)能夠熟練的使用vb.net,您會發(fā)現(xiàn)它比以前的vb版本更加簡單和直觀。因為在學(xué)習(xí)vb.net的路上要走不少的彎路,所以我想您可能會對c#產(chǎn)生好奇心,盤算著是否需要放棄vb。
 

如果您現(xiàn)在已經(jīng)是一個vb程序員了,而且已經(jīng)有一定時間了,那么您并不需要去選擇其它的語言,比如c#或delphi。你會發(fā)現(xiàn)vb盡管已經(jīng)的改變了不少,但是它的核心依在。最主要的變化存在于使用vb.net中的對象、屬性以及方法。不論您學(xué)習(xí)哪樣.net程序,這些都是需要重新學(xué)習(xí)的。

如果您從dos時代便開始使用basic語言,那么vb.net將會讓你承受不小的打擊。vb.net已經(jīng)去掉了gosub,while/wend以及其它一些陳舊的語句。但是微軟已經(jīng)發(fā)出警告,在任何情況下都不要使用非結(jié)構(gòu)性語句。

vb.net 的優(yōu)勢
 

vb.net 擁有features,而c#沒有。比如,isdbnull()函數(shù)就只存在于vb.net,c#中是不沒有的。

vb.net擁有求冪函數(shù)以及重新分配數(shù)組空間的redim ,這些c#中也沒有。c#對大小寫很敏感,而大多數(shù)的vb程序并不習(xí)慣于區(qū)分大小寫。以我個人來說,我喜歡vb中的if ....end if 以及do ...loop的方式,而不太喜歡c#中{}符號。select case語句也比c#中的switch語句更加簡單和緊湊。在c#中,你不得不使用break語句去中止查詢結(jié)構(gòu)。在vb中,你能使用case 1 to 50,但是在c#中你不得不使用50個獨立的case語句來完成。
 

當(dāng)你在使用vb中面象對象的特性時,你會發(fā)現(xiàn)inherits,moustinherit,notinheritable,overridable以及其它一些關(guān)鍵字。在c#中,這樣的特性您不得不調(diào)用一些模糊的關(guān)鍵字和語法,比如在vb.net中,繼承一個類,你可以這樣寫:

public class person
  ...
end class
public class employee
  inherits person
  ...
end class

如果使用c#就必須:

public class person
{
  public person() {     
     ...
  }
}
public class employee : person
{
    public employee() {
     ...
    }
}

如果你不仔細(xì),您可能會忘記使用employee : person語法來繼承person類。

(飛刀注:此作者為典型的vb程序員,呵呵,沒有想到飛刀認(rèn)為的c#的優(yōu)點,全被此作者否定。在這些上面飛刀的個人觀點與這位作者不同,其實只要大家習(xí)慣,就會發(fā)現(xiàn)c#是多么的好用。如果大家是從vb轉(zhuǎn)到c#,那么肯定會有一些不適應(yīng),但是也沒有到全盤否定的地步,呵呵,習(xí)慣就好)

升級至vb.net有多大困難?

從vb6.0移植至vb.net,并非沒有挑戰(zhàn)必。但是這里有些事情,我們必須事先準(zhǔn)備好:第一,使用類,com組件,以及遞行排列的開發(fā)技術(shù)。如果您使用這些程序開發(fā)構(gòu)造,您的移植工作將會很簡單。這里有些程序樣式并不是很容易移植的,比如非零數(shù)組,隱含變量(即沒有使用option explicit),以及jet或者rdo。

介紹c#

微軟在創(chuàng)建c#時有兩種思想:第一,需要一個java的競爭者,微軟需要一個絕對屬于本公司的類似于java的語言。另外就是,微軟希望有一個全新的,整潔的語言。

c#適合于那些java、c以及c++程序員,這些程序員已經(jīng)很習(xí)慣于這種語言的結(jié)構(gòu)以及對大小寫敏感的特性。他們也不得不重頭學(xué)習(xí).net的類庫,因此在這時們并不比vb程序員有多少優(yōu)勢。
 

c#的優(yōu)勢

我無可否認(rèn),是一名vb的支持者,但是c#確實存在一些優(yōu)勢,比如多行注釋,以及一些代碼的簡寫:

intvalue--
intvalue-


其它一些c#的優(yōu)點就是在beta版文檔中,c#的資料比vb多。

盡管不會經(jīng)常用于編寫商業(yè)應(yīng)用程序,但是c#還是支持指針。在這個方面c#確實比vb有著一些小小的優(yōu)勢。但是,在我的程序中,我很少使用指針。

(飛刀注:可能是我翻譯有錯誤,pointer是否表示指針,如果是,這位作者已經(jīng)犯下一個天大的錯誤,那就是c#中并不支持指針,而且不知道這位作者是否使用過vc#,怎么能說c#不經(jīng)常編寫商業(yè)應(yīng)用程序?)


c#擁有使用unsigned數(shù)據(jù)類型的能力,同樣的,在商業(yè)應(yīng)用程序中它的使用并不廣泛。
 

移植之路

從vb6.移植至vb.net的道路并不平坦,但是我想對于想學(xué)好一門新程序語言的您來說,這份投資是值得的。在學(xué)習(xí)中,我推薦您學(xué)習(xí)面像對象的程序方式。你會經(jīng)常在.net的編程世界中經(jīng)常使用到它。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 西峡县| 谷城县| 五原县| 大竹县| 十堰市| 柯坪县| 林周县| 康乐县| 固原市| 和林格尔县| 荣昌县| 曲周县| 沁源县| 平陆县| 涪陵区| 连平县| 双辽市| 页游| 清水县| 武川县| 新宁县| 漾濞| 江源县| 六盘水市| 阳东县| 子洲县| 蒲城县| 平乡县| 都匀市| 韩城市| 科尔| 桦南县| 金寨县| 芷江| 林周县| 平果县| 宣恩县| 阳原县| 河间市| 青川县| 公主岭市|