在vb.net方法中使用ByVal,常见的做法是什么?
在 vb.net 中,方法的参数默认使用 ByVal,最好的做法/常见做法是使其明确?
例如:
有 ByVal:
Private Sub MySub(ByVal Q As String)
{
' ...
}
End Sub
没有 ByVal:
Private Sub MySub(Q As String)
{
' ...
}
End Sub
In vb.net the methods have their parameters using ByVal by default, it's better practice / common practice to make it explicit?
For example:
With ByVal:
Private Sub MySub(ByVal Q As String)
{
' ...
}
End Sub
Without ByVal:
Private Sub MySub(Q As String)
{
' ...
}
End Sub
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
根据微软:
如果您使用 Visual Studio,如果您没有明确指定,它会默认插入
ByVal
。According to Microsoft:
And if you use Visual Studio, it defaults to inserting
ByVal
if you don't explicitly specify it.从 VS 2010 SP1 开始,
ByVal
不再自动插入 通过 IDE。我个人认为最好不要手动插入
ByVal
,因为:ByVal
和ByRef
均未明确指定。ByVal
会使ByRef
脱颖而出。ByVal
来混乱代码。Starting with VS 2010 SP1,
ByVal
is no longer automatically inserted by the IDE.I personally think it's better not to insert
ByVal
manually, because:ByVal
norByRef
are explicitly specified.ByVal
from method signature makesByRef
stand out.ByVal
s.通常的做法是可以在 ByValue 或 ByReference 中指定方法参数。在 VB.NET 中,默认参数类型是
ByVal
。在许多编程语言中,方法参数默认是按值
。如果参数未使用ByVal
或ByRef
限定,则参数类型将为 ByVal。It is common practice that a method arguments can be specified at ByValue or ByReference. In VB.NET, the default argument type is
ByVal
. In many programming language, method arguments areby-value
by default. If argument is not qualified withByVal
orByRef
then the argument type will be ByVal.