.net 通过引用传递数组元素
我正在使用.net 通过引用传递数组元素,.net,arrays,vb.net,mono,pass-by-reference,.net,Arrays,Vb.net,Mono,Pass By Reference,我正在使用Mono编译器v4.2.1(.NETframework4.5)编译以下代码: 产量为:1。为什么x参数不通过引用绑定到数组元素?有没有一种方法可以在不通过阵列的情况下实现这一点 其他详细信息: 我正在运行上面的代码 当从VisualStudio2010/2012运行时,上面的代码生成2的输出 不确定动机对问题是否重要,但通过引用传递数组元素非常有用。例如,可以实现采用两个数组元素的Swap 代码正常。最明显的是,您正在使用的编译器中存在一个bug 看起来像是Mono VB编译器中的错
Mono编译器v4.2.1
(.NET
framework4.5)编译以下代码:
产量为:1。为什么x
参数不通过引用绑定到数组元素?有没有一种方法可以在不通过阵列的情况下实现这一点
其他详细信息:
- 我正在运行上面的代码
- 当从VisualStudio2010/2012运行时,上面的代码生成2的输出
- 不确定动机对问题是否重要,但通过引用传递数组元素非常有用。例如,可以实现采用两个数组元素的
Swap
- 代码正常。最明显的是,您正在使用的编译器中存在一个bug 看起来像是Mono VB编译器中的错误。C#等价物工作正常(使用Ideone、Mono 4.0.1进行测试)是的,请向优秀示例报告错误-这些问题与VB.Net Visual Studio 2015 Framework 4.5.2 Windows上预期的摇摆木马一样罕见。
Module Module1
Sub Change(ByRef x As Integer)
x += 1
End Sub
Sub Main()
Dim arr() As Integer = {1}
Change(arr(0))
Console.WriteLine(arr(0))
End Sub
End Module