繁体   English   中英

在vb.net方法中使用ByVal,通常的做法是什么?

[英]Using ByVal in vb.net methods, what's the common practice?

在vb.net中,默认情况下方法使用ByVal的参数,使其明确是更好的实践/常规做法?

例如:

使用ByVal:

Private Sub MySub(ByVal Q As String)
{
   ' ...
}
End Sub

没有ByVal:

Private Sub MySub(Q As String)
{
   ' ...
}
End Sub

根据微软的说法:

在每个声明的参数中包含ByVal或ByRef关键字是一种很好的编程习惯。

如果您使用Visual Studio,如果您没有明确指定它,则默认插入ByVal

从VS 2010 SP1开始,IDE 不再自动插入 ByVal

我个人认为最好不要手动插入ByVal ,因为:

  1. 如果没有明确指定ByValByRef ,它仍然是默认的传递机制
  2. 从方法签名中省略ByVal使得ByRef脱颖而出。
  3. 它为代码添加了“噪音”。 VB.Net已经非常冗长,不需要用不必要的ByVal来混淆代码。

通常的做法是可以在ByValue或ByReference中指定方法参数。 在VB.NET中,默认参数类型是ByVal 在许多编程语言中,方法参数默认为by-value 如果参数未使用ByValByRef限定,则参数类型将为ByVal。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM