问题标签 [byref]
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.
.net - 最佳实践:ByRef 还是 ByVal?在.Net
在 ByRef 和 ByVal 之间进行选择时需要考虑哪些事项。
我了解两者之间的区别,但我不完全了解 ByRef 是否可以节省资源,或者我们是否甚至需要在 .Net 环境中担心这一点。
如果功能在某种情况下无关紧要,您如何在两者之间做出决定?
actionscript-3 - 您可以在 AS3 函数中使用“ByRef”参数吗?
知道如何从 ActionScript 3 中的函数返回多个变量吗?
像 VB.NET 这样您可以修改输入参数的变量(ByRef 参数)吗?
除了返回关联数组之外还有什么?
vb.net - 有什么方法可以将 ParamArray 值处理为 byRef 以便可以更新它们?
听起来很简单,但它不起作用。在此示例中,我想将 3 个字段的值设置为第 4 个。我可以做这样的事情......
...但这有点罗嗦(是的,我知道,vb 在大多数情况下都是罗嗦的)。我想有一些东西可以用来减少单行调用,所以我做了这个扩展方法。
看起来很简单,对吧?嗯,输出是这样的……
参数数组中的值没有在返回中更新!我期待现在所有的最终值都是“1”,就像它们在函数中一样。
有没有办法获得这样的可更新 ParamArray 集合?ParamArray 必须声明为 ByVal,但使用像 String 这样的引用类型,难道不应该只复制指针并允许我更改基础值吗?
有没有更好的方法来得到我想要的?(C# 不是这个选项)。
vb.net - := 语法有什么用?
我是一名从事 VB.NET 项目的 C# 开发人员,当我调用带有 ByRef 参数的函数时,VS 一直试图让我使用 := thingie,如下所示:
HydrateBookFromReader 函数具有以下签名:
为什么智能感知一直坚持我使用 := 构造,它是做什么用的?
c++ - 将经典 ASP VBScript 参数 ByRef 传递给 COM c++
这很简单。有一个 c++ 函数使用 ByRef 参数同时返回三个变量。
但是,调用 c++ 函数时,VBScript ASP 代码似乎没有获取 bShares、bRunOnly 和 bCopy 的新值。
我能做些什么来解决这个问题吗?谁能解释为什么会这样?
c# - 不同的参考问题使用一个简单的=
我对 by ref 问题有一个变体。我知道所有关于使用 ref 或我们的参数调用以及它如何影响变量及其值的知识。我对 DataTable 有这个问题,我想知道为什么数据表不同于简单的整数变量。
我有关于如何解决问题的物理答案,但我想知道它为什么会这样工作。
如果您使用简单的变量,它会达到我的预期
它在控制台中显示 1,5。
但是,如果您对 DataTable 做同样的事情,它会引用第一个数据表而不是新值:
控制台显示:StringCol StringCol123 Test Test
通过说 mVar4 = mVar3 它使 mVar4 成为对 mVar3 的引用。
这个问题的解决方法是说
所以我的问题是:是什么导致数据表的执行与简单的整数字段不同。为什么当我使用 mVar4 = mVar3 而不是 DataTable 的不同副本时它会创建一个引用?
vb.net - VB.NET:如果我将 String ByVal 传递给函数但不更改字符串,内存中是否有一个或两个字符串?
我知道字符串是不可变的,所以当您更改字符串引用的值时,.NET 会在堆上创建一个全新的字符串。
但是如果你不改变字符串引用的值呢?相反,您只需将它传递给一个函数ByVal
——这个操作是否也会复制堆上的字符串值?我的倾向是“不”,但我想确认一下。
例如:
调用程序:
我知道myWord
按值传递会复制对“Blah”的引用,但由于我没有尝试更改字符串本身,它会在堆上制作另一个字符串副本吗?
php - PHP中的原始数据类型是通过引用传递的吗?
在 PHP 中,我经常做大量的字符串操作。是否可以将我的代码拆分为多个函数,因为如果像字符串这样的原始类型按值传递,我会显着影响性能。
c# - C# 扩展方法不允许通过引用传递参数吗?
在 C# 中创建实例作为引用传递的扩展方法真的不可能吗?
这是一个示例 VB.NET 控制台应用程序:
注意 Value 参数是通过 ByRef 传递的。
并且(几乎)在 C# 中相同:
Add
扩展方法在 C# 中不起作用,因为我不能使用关键字ref
。有什么解决方法吗?