问题标签 [byval]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2286 浏览

vb.net - 使用 ParamArray ByRef

有什么方法可以使用 ParamArray ByRef 吗?除此之外,是否有一种解决方法可以完成同样的事情?

我可以做一些超载,但我试图避免笨拙。

背景:移植一些旧代码,并尽可能保持相同的结构。


编辑

我想要的一个具体例子:

我在 turboBasic 中有一些代码要移植到 vb.net。该代码具有内置功能,例如

Input() 获取文件 #1 并从中读取三段数据并将其分配给所示的三个变量。我想用我自己的 Input() 函数复制这种行为。为此,我将如何接受三个(或更多,或更少)变量并为它们赋值?

理想情况下,我只需修改我自己的 Input() 定义即可完成此操作,因此我可以尽可能少地在代码库中添加垃圾。

0 投票
4 回答
53495 浏览

vb.net - ByRef vs ByVal 澄清

我刚刚开始学习一个类来处理与 TCP 服务器的客户端连接。这是我迄今为止编写的代码:

所以,在我重载的构造函数上,我接受了对a实例引用,是吗?System.Net.Sockets.Socket

现在,在我的Socket财产上,设置值时,它必须是ByVal. 我的理解是复制内存中的实例,并将这个新实例传递给,并且我的代码设置为引用内存中的这个实例。是的?value_Socket

如果这是真的,那么我不明白为什么我想将属性用于除本机类型之外的任何东西。我想如果复制具有大量成员的类实例,性能会受到很大影响。此外,特别是对于这段代码,我想复制的套接字实例不会真正起作用,但我还没有测试过。

无论如何,如果你能证实我的理解,或者解释我模糊逻辑中的缺陷,我将不胜感激。

0 投票
5 回答
8716 浏览

c# - 在 VB.NET 和 C# 中传递字符串 ByVal

那么字符串是引用类型吗?我的理解是,即使您将字符串 ByVal 传递给方法,也会传递对堆中字符串的引用。

呜呜呜……

或者

我错过了什么?引擎盖下发生了什么?我敢打赌价值会改变....

0 投票
2 回答
655 浏览

c# - 在 .NET 中,如果您将结构传递给带有接口参数的方法,它是否会将值装箱?

从一个简单的测试中我可以看到,如果你将结构传递给方法,它是按值传递的,但是如果你首先将它分配给一个接口,它是通过引用传递的。

所以我的问题是,仍然有一个拳击操作来传递这样的结构吗?

0 投票
3 回答
2431 浏览

c# - 缓存被修改而不是局部变量(通过 ref 传递)

我正在编写一个 .net c# 应用程序。

我从 xml 文件中检索一些数据,将数据缓存到 .net 缓存并从我的方法中返回。我对数据执行一些处理并将其返回到我的应用程序的另一部分。

下一次调用,我从缓存中读取,处理它并返回它等等。

我遇到的问题是对缓存数据执行的处理似乎修改了缓存而不是局部变量,这意味着下次我从缓存中读取时,它是从返回的先前处理中处理的数据。

所以看起来从缓存返回的数据是由ref而不是value返回的。

知道如何防止缓存被修改吗?

0 投票
2 回答
361 浏览

vb.net - Visual Basic 事件处理程序

我正在尝试学习 Visual Basic,并且正在阅读我儿子上课时使用的教科书。每次我通过双击设计页面创建事件处理程序时,自动填充的代码几乎与书中的代码相同,只是代码中省略了 byval 部分。有人可以向我解释为什么会发生这种情况。我已经包含了本书代码的示例以及我在下面得到的代码。

0 投票
3 回答
784 浏览

asp.net - VB.Net、EventArgs、ByRef 和 ByVal

在 VB.Net 中,我有一个名为的对象WorkflowButtonEventArgs,它继承自System.EventArgs.

该类WorkflowButtonEventArgs包含两个ByRef属性。这些是内存中的对象,我不希望它们以任何方式复制或复制。

我可以在 VB.Net 中传递WorkflowButtonEventArgs对象ByVal并让它仍然保留其中的两个ByRef定义WorkflowButtonEventArgs吗?

具体来说,如果我通过 ByVal:

(类)中的ByRef属性/成员不会在内存中复制或复制吗?eWorkflowButtonEventArgs

长话短说:我可以通过e ByVal,还是我需要通过它,ByRef因为它包含ByRef属性?

0 投票
3 回答
30854 浏览

vb.net - 为什么不再需要指示 ByVal/ByRef?

我刚刚安装了 Visual Studio 2010 Service Pack(在 Windows 更新上提出),我可以在“智能感知”上看到一个新功能,这意味着当我在 VB.NET 中编写 a FunctionorSub时,它不会使用ByRefor自动完成参数ByVal。 .

1)无论如何,我可以将此选项配置回以前的状态吗?

2)如果我不指定ByX,默认使用哪一个?(似乎总是如此ByRef

0 投票
1 回答
1230 浏览

ms-access - 在其他表单的查询中使用主表单中按下按钮的标题

我的问题是:

主窗体有 9 个命令按钮和连续的子窗体。单击某个按钮打开其他带有用于输入数量的文本框和两个命令按钮的表单。单击第一个按钮时,我想使用主窗体中按下按钮的标题进行查询。如何获得该按钮标题?

谢谢。

0 投票
1 回答
977 浏览

php - 声明一个函数来接受 byref 和 byval 参数

当您只想在某些时候调用带有 byref 参数的函数时,您会做什么(在最近的 PHP 中)?

对我来说似乎很迟钝。我肯定错过了什么。

我确实有一个用例,尽管这个问题基本上是假设性的。这是一个正在进行的验证码实施:

在 captcha_image() 中,return captcha_create($string, $session)以前是captcha_create(&$string ...).