VB.NET可選參數調用方式解析

  VB.NET作爲一款真正的面嚮對象語言,其功能非常強大,可以支持繼承,並能進行代碼託管等等。在這裏我們先來了解一下VB.NET可選參數的一些應用技巧,希望能幫助大家瞭解這一編程語言的基本應用方法。.net培訓學院

  可以指定過程參數是可選的,並且在調用過程時不必爲其提供變量。"可選參數"在過程定義中由關鍵字 Optional 指示。適用以下規則:

  過程定義中的每個可選參數都必須指定默認值。

  VB.NET可選參數的默認值必須是一個常數表達式。

  過程定義中跟在可選參數後的每個參數也都必須是可選的。

  下面的語法顯示帶VB.NET可選參數的過程聲明:

  Sub sub name(ByVal parameter 1 As data type 1,

  Optional ByVal parameter 2 As data type 2 = default value)

  調用帶VB.NET可選參數的過程

  過程在運行時無法檢測到給定的參數是否已被省略,或者調用代碼是否已顯式提供默認值。如果需要弄清楚這一點,可以設置一個不可能的值作爲默認值。下面的過程定義了可選參數 office,並測試其默認值 QJZ 以查看它在調用中是否已被省略:

  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

  如果可選參數是像 String 這樣的引用類型,只要它不是該變量所預期的值,就可以使用 Nothing 作爲默認值。

  VB.NET可選參數和重載

  定義帶可選參數的過程的另一種方法是使用重載。如果有一個可選參數,可以定義過程的兩個重載版本,一個接受此參數,另一個則不帶參數。此方法隨可選參數數目的增加而變得更復雜。然而,這樣做的優點是可以完全確定調用程序是否提供了每個VB.NET可選參數。

  上海阜和進修學校

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章