日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
VB.NET和C#逐層橫向?qū)Ρ?/div>

//全局層

成都創(chuàng)新互聯(lián)主要從事網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)義馬,十載網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108

VB支持Module,是一種全部成員都是靜態(tài)的特殊類型

C#支持static class,和VB的Module類似;

VB的Imports語句可以把類的靜態(tài)成員導(dǎo)入,而C#的using語句沒有這個功能
Imports System.Math

VB可以選擇變量是否必須聲明,以及類型是否必須指定(通過Option語句)
C#則默認(rèn)是VB最嚴(yán)格的狀態(tài)

C#可以使用extern alias指定程序集的別名,并使用別名限定運(yùn)算符::來解析類名沖突的兩個程序集
VB沒有這個功能,但可以用Global關(guān)鍵字獲得命名空間級別名稱沖突解析能力

C#可以指定友元程序集,VB不支持

//成員層

VB可以直接重寫Object.Finalize方法,而C#必須采用析構(gòu)函數(shù)的語法

C#可以指定attribute的target以便清楚地放置attribute,而VB則通過尖括號的位置來決定,有時候?qū)懖怀瞿撤NC#可行的語法


VB能夠重載這些C#不支持的運(yùn)算符:&, ^, Like, \

C#能夠重載這些VB不支持的運(yùn)算符:++, --, !


VB中子類的構(gòu)造函數(shù),先調(diào)用父類的構(gòu)造函數(shù),然后才初始化子類的字段

C#中子類的構(gòu)造函數(shù),先初始化子類的字段,然后才調(diào)用父類的構(gòu)造函數(shù)


VB的Implemnts語句可以為實(shí)現(xiàn)接口的方法改名,改變訪問級別

C#不支持但是有一個顯式實(shí)現(xiàn)的語法可以幫忙


VB的函數(shù)重載,子類和父類的方法視為同級
C#的函數(shù)重載,子類優(yōu)先于父類


VB的Main函數(shù)自動加 ,可以改


//繼續(xù)成員層

C#的自定義event可以修改add和remove的規(guī)則

VB的自定義Event除了C#的之外,還支持重載RaiseEvent語句的用法


VB的Event可以直接書寫Event參數(shù),自動生成Delege類型

C#的event必須指定delegate類型


VB支持WithEvents/Handles靜態(tài)事件綁定語法,也支持AddHandler動態(tài)綁定方法

C#的事件只支持使用+=動態(tài)綁定


VB的屬性(Property)可以帶參數(shù)

C#的屬性不能帶參數(shù)


盡管不支持手工定義,VB支持屬性按引用傳遞值,C#不支持

VB可以指定一個帶有參數(shù)的屬性為Default,于是支持索引語法

C#則必須把這個東西聲明為索引器,即this語法


VB允許方法帶有若干可選參數(shù)(Optional)可指定默認(rèn)值

C#不允許


C#支持out參數(shù),傳入前不需要初始化

VB不內(nèi)置支持


C#支持類中使用fixed buffer,即固定大小的類似數(shù)組的成員

VB不支持


C#支持按照參數(shù)是否帶有ref/out進(jìn)行函數(shù)重載

VB不支持這種重載


C#允許僅大小寫區(qū)分的兩個函數(shù)或變量存在

VB不區(qū)分大小寫,因此也不允許


//函數(shù)層

VB支持局部Static變量

C#不支持


VB支持?jǐn)?shù)組的最后一唯大小可變

C#的數(shù)組大小不能改變


VB的Try Catch語句支持Exit Try直接進(jìn)入Finally

C#無類似語句


VB的Catch可以帶When子句,使用.NET的異常filter功能有選擇的進(jìn)行捕獲

C#完全不支持這一功能


VB可以使用傳統(tǒng)的On Error方法,非結(jié)構(gòu)化地處理異常
C#僅支持結(jié)構(gòu)化


C#支持使用checked語句暫時打開或關(guān)閉整數(shù)溢出檢查

VB僅支持整個項目級別處理


VB支持使用函數(shù)名作為返回變量,也支持Return

C#只支持Return


VB的Try, Using, For, For Each等語句支持使用前邊定義的變量

C#的對應(yīng)語句只能在語句開始處定義


C#可以支持unsafe語法有限地支持指針和stack數(shù)據(jù)的訪問

VB不支持


C#支持yield return語法的迭代器生成

VB不支持


C#支持delegate語句就地生成支持closure的匿名方法

VB不支持


C#支持在委托與方法結(jié)合的過程中使用協(xié)變和反邊規(guī)則

VB則只能使用完全匹配規(guī)則


VB和C#的循環(huán)和分支有若干次要差別

C#支持nullable類型的運(yùn)算符跨類型支持

VB需要手工完成同樣功能


VB支持用實(shí)例訪問類的靜態(tài)成員

C#只支持類明訪問


VB支持按照非虛函數(shù)的規(guī)則,調(diào)用自身類型定義的一個虛函數(shù)

C#不支持這一功能


類庫層

VB有一個非常好用Microsoft.VisualBasic.dll,實(shí)現(xiàn)了許多幫助函數(shù),Application Framework應(yīng)用程序框架,My命名空間等
C#只能望眼欲穿了……

C#以out/ref或者大小寫區(qū)分不同函數(shù),這就是不符合CLS的。

VB的每個特性幾乎都是CLS兼容的(即使是那些C#不支持的),在VB中使用不會從根本上影響到與C#的交互

【編輯推薦】

  1. 簡述用C#實(shí)現(xiàn)優(yōu)先隊列方法
  2. 橫向技術(shù)分析C#、C++和Java優(yōu)劣
  3. 詳解C#編程中的反射機(jī)制與方法

當(dāng)前題目:VB.NET和C#逐層橫向?qū)Ρ?
鏈接分享:http://www.5511xx.com/article/dhiipig.html