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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
VB.NET遞歸過程使用注意事項(xiàng)

VB.NET編程語言是當(dāng)下一款應(yīng)用比較頻繁的開發(fā)語言。其功能非常強(qiáng)大。今天我們就可以通過對VB.NET遞歸過程的一些使用技巧來對這門語言進(jìn)行一個(gè)詳細(xì)的解讀,從而掌握這一語言的特點(diǎn)。

創(chuàng)新互聯(lián)長期為近千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為西湖企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì),西湖網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

VB.NET遞歸過程是指調(diào)用自身的過程。通常,這不是編寫 Visual Basic 代碼的最有效方法。

下面的過程使用遞歸計(jì)算其原始參數(shù)的階乘:

 
 
 
  1. Visual Basic  
  2. Function factorial(ByVal n As Integer) As Integer  
  3. If n <= 1 Then  
  4. Return 1  
  5. Else  
  6. Return factorial(n - 1) * n  
  7. End If  
  8. End Function 

 

使用VB.NET遞歸過程時(shí)的注意事項(xiàng) #t#

限制條件。您在設(shè)計(jì)一個(gè)遞歸過程時(shí),必須至少測試一個(gè)可以終止此遞歸的條件,并且還必須對在合理的遞歸調(diào)用次數(shù)內(nèi)未滿足此類條件的情況進(jìn)行處理。如果沒有一個(gè)在正常情況下可以滿足的條件,則過程將陷入執(zhí)行無限循環(huán)的高度危險(xiǎn)之中。

內(nèi)存使用。應(yīng)用程序的局部變量所使用的空間有限。過程在每次調(diào)用它自身時(shí),都會(huì)占用更多的內(nèi)存空間以保存其局部變量的附加副本。如果這個(gè)進(jìn)程無限持續(xù)下去,最終會(huì)導(dǎo)致 StackOverflowException 錯(cuò)誤。

效率。幾乎在任何情況下都可以用循環(huán)替代遞歸。循環(huán)不會(huì)產(chǎn)生傳遞變量、初始化附加存儲(chǔ)空間和返回值所需的開銷,因此使用循環(huán)相對于使用遞歸調(diào)用可以大幅提高性能。

相互遞歸。如果兩個(gè)過程相互調(diào)用,可能會(huì)使性能變差,甚至產(chǎn)生無限循環(huán)。此類設(shè)計(jì)所產(chǎn)生的問題與單個(gè)遞歸過程所產(chǎn)生的問題相同,但更難檢測和調(diào)試。

調(diào)用時(shí)使用括號。當(dāng) Function 過程以遞歸方式調(diào)用它自身時(shí),您必須在過程名稱后加上括號(即使不存在參數(shù)列表)。否則,函數(shù)名就會(huì)被視為表示函數(shù)的返回值。

測試。在編寫VB.NET遞歸過程時(shí),應(yīng)非常細(xì)心地進(jìn)行測試,以確保它總是能滿足某些限制條件。您還應(yīng)該確保不會(huì)因?yàn)檫^多的遞歸調(diào)用而耗盡內(nèi)存。


分享文章:VB.NET遞歸過程使用注意事項(xiàng)
URL標(biāo)題:http://m.5511xx.com/article/dhgecpi.html