【发布时间】:2019-05-27 15:16:20
【问题描述】:
我正在尝试通过引用将一个变量分配给另一个变量,因此更改一个变量的值会同时更改两个变量的值,如以下伪代码示例所示:
Dim x as Integer = 0
Dim y as Integer = x [byRef]
x = 1
Debug.print("x = " & x)
Debug.print("y = " & y)
'should print x = 1, y = 1
当然,它会打印 x = 1, y = 0,因为默认情况下 Integer 是 Value 类型。所以问题是,如何通过引用强制将 y 分配给 x ?我知道 Object 是一种引用类型,所以我尝试了y = Cobj(x),但没有成功。我想在不包装的情况下做到这一点(很长一段时间要解释原因,但我不能在这里使用包装)。谁能给点建议好吗?
编辑:我忘了说我正在用 VB.NET 进行编码。
【问题讨论】:
-
您应该为您使用的语言或环境添加标签,以吸引合适的人。
-
我不能使用包装是什么意思?包装的目的是什么?装箱/拆箱不是包装吗?还有什么可以不包装?您不能使用具有单个字段/属性的类吗?
-
澄清一下:通过包装,我的意思是在这个问题的答案中:link(声明数据类然后使用它)。
-
如果您不能/不会使用引用类型,那么您可以使用指针(内存位置)。
-
我该怎么做,吉米?在 C 语言中这似乎很容易,但是当我在 .NET 中搜索时,它似乎是一种非常规且记录不充分的方式。
标签: vb.net object types pass-by-reference reference-type