vb.net中實(shí)參的簡(jiǎn)單介紹

VB.net子程序傳參的困惑(ByVal 和Byref 沒有區(qū)別的時(shí)候是為什么??)

這里覺得沒有區(qū)別,是因?yàn)樵赟ubAddRow 里,我們并沒有試圖改變形參 t 本身,我們所做的改變都是 t.Rows,我們?yōu)?t 添加了行。

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

對(duì)于形參和實(shí)參而言,在ByVal 模式下 temTable 和 t 指向了同一塊內(nèi)存,但是這兩個(gè)變量本身并不在同一個(gè)地址上。在改變 t.Rows時(shí),由于二者都指向同一塊內(nèi)存,所以更改了t.Rows里的行數(shù)據(jù);

在ByRef模式下,temTable 和 t 就是同一塊內(nèi)存,二者在一個(gè)地址上,肯定也就指向同一塊內(nèi)存,在改變 t.Rows時(shí),就是對(duì) temTable 的改變。

在此舉個(gè)例子:假設(shè)我們需要將 temTable 清空,那么我們還是以 t 作為形參,我們可以這樣寫:

'?ByVal?方式傳參

Private?Sub?ClearRow(ByVal?t?As?DataTable)

t?=?Nothing

End?Sub

'?ByRef?方式傳參

Private?Sub?ClearRow(ByRef?t?As?DataTable)

t?=?Nothing

End?Sub

'?并且這樣調(diào)用

Private?Sub?Button3_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button3.Click

ClearRow(temTable)

DataGridView1.DataSource?=?temTable

End?Sub

這樣,就是有區(qū)別的了。ByVal方式時(shí),雖然 t 被置為 Nothing ,但是由于 t 和 temTable 并不是一個(gè)變量,并不在同一個(gè)地址上,所以 temTable 沒有變。

而 ByRef 時(shí),t 和 temTable 就是同一個(gè)變量,在同一個(gè)地址上,t = Nothing的同時(shí),temTable 也就是Nothing了。

如果這個(gè)解釋還不清楚,可以追問。

vb.net中 形參 和實(shí)參?

形參就是傳遞到函數(shù)里的參數(shù)

實(shí)參是函數(shù)調(diào)用時(shí)傳遞的參數(shù)

VB.NET Listview綁定ACCESS數(shù)據(jù)庫(kù)出錯(cuò),求高人指教急急急急急?。?!

看錯(cuò)誤提示應(yīng)該是數(shù)據(jù)類型不匹配的問題。

Public Overridable ReadOnly Default Property Item(key As String) As System.Windows.Forms.ListViewItem”: 與形參“key”匹配的實(shí)參從“Long”收縮轉(zhuǎn)換為“String”。

這里,調(diào)用的時(shí)候,key這個(gè)參數(shù),應(yīng)該為string型,可能是因?yàn)?,你使用的時(shí)候用了Long型。所以出這樣的提示

另一個(gè)也是類似,應(yīng)該是integer類型的參數(shù),你調(diào)用時(shí)使用了Long型變量作參數(shù)了。

當(dāng)前標(biāo)題:vb.net中實(shí)參的簡(jiǎn)單介紹
文章源于:http://muchs.cn/article22/dosjcjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、定制開發(fā)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、微信公眾號(hào)、網(wǎng)站策劃

廣告

聲明:本網(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í)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司