在vb.net中,默认情况下方法的参数使用ByVal,使其明确是更好的做法/惯例吗?
例如:
ByVal:
Private Sub MySub(ByVal Q As String)
{
' ...
}
End Sub
没有ByVal:
Private Sub MySub(Q As String)
{
' ...
}
End Sub
答案 0 :(得分:5)
答案 1 :(得分:2)
从VS 2010 SP1开始,IDE ByVal
为no longer automatically inserted。
我个人认为最好不要手动插入ByVal
,因为:
ByVal
和ByRef
都没有明确指定,那么它就是default passing mechanism。ByVal
会使ByRef
脱颖而出。ByVal
来混淆代码。答案 2 :(得分:0)
通常的做法是可以在ByValue或ByReference中指定方法参数。在VB.NET中,默认参数类型为ByVal
。在许多编程语言中,方法参数默认为by-value
。如果参数不符合ByVal
或ByRef
,那么参数类型将为ByVal。