function - ByVal 和 ByRef 的区别?

标签 function vb.net-2010

有什么不同?我总是使用 ByVal,但是,我真的不知道什么时候应该什么时候不应该......

最佳答案

ByRef = 你给你的 friend 你的学期论文(原件),他会做标记并可以退还给你。ByVal = 你给他一份学期论文,他把他的修改还给你,但你必须自己把它们放回原件。
尽可能简单。
为什么要使用 ByRef:
ByRef 会将指针传递给您正在传递的对象。如果您在同一个内存空间中,这意味着只传递“单词”而不是对象。您传递给它的方法可以在原始对象中进行更改,并且根本不需要将它们传递回来,因为它们在原始对象中。有助于加快大数据传递。您还可以使用 ByRef 来允许使用 SUB 而不是 FUNCTION(在 VB 中),因为它不需要传回对象。
为什么不使用 ByRef:
由于该方法可以访问原始方法,因此所做的任何更改都将是即时且永久的。如果该方法失败,则该对象可能已损坏。使用 ByVal 将制作一个副本,将整个副本传递给该方法,然后该方法将处理信息并返回一个副本,报告信息或什么都不做。

关于function - ByVal 和 ByRef 的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4908692/

相关文章:

PHP:速记开关

php - 为什么我的上传脚本放在使用 PHP 的函数中时不起作用?

.net - 如何在 select case 语句中实现 Enum

vb.net - 使用名称变量访问多个表单控件

vb.net - N替换并模拟对象以触发事件

javascript - 为什么我的函数只在按钮的 onClick 事件上运行一次?

c++ - 使用指针c++在函数中反转cstring数组

javascript - 使用时如何检测变量?

html - 将 ASP 页面滚动到错误消息

sql - SQL Server表中缺少记录