按值傳參byval,和按引用byref

創(chuàng)新互聯(lián)建站是一家專注于做網(wǎng)站、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),寧德網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:寧德等地區(qū)。寧德做網(wǎng)站價格咨詢:028-86922220
vb.net里默認(rèn)是byval,這和vb6不同 :)
VB.NET可選參數(shù)的默認(rèn)值必須是一個常數(shù)表達(dá)式。
過程定義中跟在可選參數(shù)后的每個參數(shù)也都必須是可選的。
下面的語法顯示帶VB.NET可選參數(shù)的過程聲明:
Sub sub name(ByVal parameter 1 As data type 1,
Optional ByVal parameter 2 As data type 2 = default value)
調(diào)用帶VB.NET可選參數(shù)的過程
過程在運(yùn)行時無法檢測到給定的參數(shù)是否已被省略,或者調(diào)用代碼是否已顯式提供默認(rèn)值。如果需要弄清楚這一點(diǎn),可以設(shè)置一個不可能的值作為默認(rèn)值。下面的過程定義了可選參數(shù) office,并測試其默認(rèn)值 QJZ 以查看它在調(diào)用中是否已被省略:
Visual Basic
Sub notify(ByVal company As String, Optional ByVal office As String = "QJZ")
If office = "QJZ" Then
Debug.WriteLine("office not supplied -- using Headquarters")
office = "Headquarters" End If
' Insert code to notify headquarters or specified office.
End Sub
如果可選參數(shù)是像 String 這樣的引用類型,只要它不是該變量所預(yù)期的值,就可以使用 Nothing 作為默認(rèn)值。
VB.NET可選參數(shù)和重載
定義帶可選參數(shù)的過程的另一種方法是使用重載。如果有一個可選參數(shù),可以定義過程的兩個重載版本,一個接受此參數(shù),另一個則不帶參數(shù)。此方法隨可選參數(shù)數(shù)目的增加而變得更復(fù)雜。然而,這樣做的優(yōu)點(diǎn)是可以完全確定調(diào)用程序是否提供了每個VB.NET可選參數(shù)。
VB.NET中的Default關(guān)鍵字是用來聲明類的默認(rèn)屬性的 默認(rèn)屬性可以直接使用“對象名(參數(shù))”的形式來調(diào)用 而不用寫出屬性名
舉個例子:
'先聲明1個類
Public Class myclass
Dim a1 As Integer=1
Dim a2 As Integer=2
Default Public Property geta(ByVal x As Integer) As Integer
Get
If x=1 Then Return a1 Else Return a2
Set(ByVal value As Integer)
If x=1 Then a1=value Else a2=value
End Property
End Class
'這里的geta就是默認(rèn)屬性,后邊在主函數(shù)里調(diào)用它
Public Class test
Shared Sub Main()
Dim obj As myclass=New myclass()
Console.WriteLine("{0} {1}",obj(1),obj(2))
End Sub
End Class
最后輸出結(jié)果為:1 2
也就是說可以直接使用obj(1)這樣的格式 而不用使用obj.geta(1)這樣的格式了
注意 默認(rèn)屬性必須至少帶有1個參數(shù)
每個參數(shù)的默認(rèn)傳入機(jī)制均為ByVal,這意味著過程無法更改基礎(chǔ)變量元素。
如果不指定parametertype,則默認(rèn)為Object。
分享題目:vb.net默認(rèn)參數(shù) vbnet imemode
網(wǎng)頁路徑:http://www.yijiale78.com/article48/ddocshp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、App開發(fā)、小程序開發(fā)、虛擬主機(jī)、用戶體驗(yàn)、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)