十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
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可选参数。
这个是类的初始化方式。举个栗子
public class a
private mCode as string
public sub new()
mCode = "123"
end sub
public sub new(byval code as string)
mCode = code
end sub
end class
使用这个类的时候
dim HaveA as new a("win")
dim HaveB as new a()
第一个情况,类中的变量mCode是“123”
第二中情况,类中的变量mCode是“win”
这个new就叫做类的构造函数。
这里看到了两个new,他们一个有参数,一个没有参数,这个叫做函数重载。
vb中有函数和子过程:
子过程:sub .......end sub
函数:function .....end function
如果是函数当然就没有sub了。