vb.net匿名方法 c# 匿名內(nèi)部類

VB.NET和C#逐層橫向?qū)Ρ萚2]

//函數(shù)層

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供新田網(wǎng)站建設(shè)、新田做網(wǎng)站、新田網(wǎng)站設(shè)計(jì)、新田網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、新田企業(yè)網(wǎng)站模板建站服務(wù),十年新田做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

VB支持局部Static變量

C#不支持

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

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

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

C#無(wú)類似語(yǔ)句

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

C#完全不支持這一功能

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

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

VB僅支持整個(gè)項(xiàng)目級(jí)別處理

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

C#只支持Return

VB的Try Using For For Each等語(yǔ)句支持使用前邊定義的變量

C#的對(duì)應(yīng)語(yǔ)句只能在語(yǔ)句開(kāi)始處定義

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

VB不支持

C#支持yield return語(yǔ)法的迭代器生成

VB不支持

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

VB不支持

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

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

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

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

VB需要手工完成同樣功能

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

C#只支持類明訪問(wèn)

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

C#不支持這一功能

類庫(kù)層

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

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

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

lishixinzhi/Article/program/net/201311/15508

VB.NET中匿名方法怎么寫,最簡(jiǎn)單的就可以

public?static?String?reverse1(String?str)

{

return?new?StringBuffer(str).reverse().toString();

}

2.最常用的方法:

public?static?String?reverse3(String?s)

{?

char[]?array?=?s.toCharArray();?

String?reverse?=?"";??//注意這是空串,不是null

for?(int?i?=?array.length?-?1;?i?=?0;?i--)?

reverse?+=?array[i];?

return?reverse;?

}?

3.常用方法的變形:

public?static?String?reverse2(String?s)

{?

int?length?=?s.length();?

String?reverse?=?"";??//注意這是空串,不是null

for?(int?i?=?0;?i??length;?i++)?

reverse?=?s.charAt(i)?+?reverse;//在字符串前面連接,??而非常見(jiàn)的后面

return?reverse;?

}?

4.C語(yǔ)言中常用的方法:

public?static?String?reverse5(String?orig)

{?

char[]?s?=?orig.toCharArray();?

int?n?=?s.length?-?1;?

int?halfLength?=?n?/?2;?

for?(int?i?=?0;?i?=?halfLength;?i++)?{?

char?temp?=?s[i];?

s[i]?=?s[n?-?i];?

s[n?-?i]?=?temp;?

}?

return?new?String(s);??//知道??char數(shù)組和String相互轉(zhuǎn)化

}

C#中的委托和拉姆達(dá)表達(dá)式用VB.net怎么寫

委托主要用于.NETFramework中的事件處理程序和回調(diào)函數(shù),它是事件的基礎(chǔ)。委托的作用類似于c++中函數(shù)指針的作用。不同的是,委托實(shí)例獨(dú)立于它所封裝的方法的類,并且方法類型與委托的類型是兼容的。函數(shù)指針只能引用靜態(tài)函數(shù),而委托可以應(yīng)用靜態(tài)和實(shí)例方法。所有委托都是繼承自System.Delegate類,并且有一個(gè)調(diào)用列表。調(diào)用委托時(shí)所執(zhí)行的方法都被存放在這樣的一個(gè)連接列表中。使用delegate關(guān)鍵字可以聲明一個(gè)委托。通過(guò)將委托與命名方法或匿名方法關(guān)聯(lián),可以對(duì)委托進(jìn)行實(shí)例化。為了與命名方法一起使用,委托必須用具有可接受簽名的方法進(jìn)行實(shí)例化。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceConsoleApplication1{//聲明一個(gè)委托delegateintMydelegate();classProgram{staticvoidMain(string[]args){testp=newtest();//將委托指向非靜態(tài)方法Mydelegatem=newMydelegate(p.InstanceMethod);//調(diào)用非靜態(tài)方法m();//將委托指向靜態(tài)方法m=newMydelegate(test.StaticMethod);//調(diào)用靜態(tài)方法m();Console.Read();}}publicclasstest{publicintInstanceMethod(){Console.WriteLine("正在調(diào)用非靜態(tài)方法InstanceMethod().");return0;}staticpublicintStaticMethod(){Console.WriteLine("正在調(diào)用靜態(tài)方法StaticMethod()。。。。");return0;}}}

分享名稱:vb.net匿名方法 c# 匿名內(nèi)部類
本文網(wǎng)址:http://muchs.cn/article36/ddcespg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站網(wǎng)站制作、App開(kāi)發(fā)外貿(mào)建站、移動(dòng)網(wǎng)站建設(shè)、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)