为什么min(d1,d2)在vb.net的参数中有byref?

时间:2016-03-17 02:06:55

标签: vb.net

我注意到,如果我这样做

a = min(b,c)

我经常收到警告,b和c都必须是double而不是整数。那是因为虽然double可以在运行中转换为整数,但另一种方法不起作用。

它应该起作用的原因是因为b和c是通过引用传递的。

然而,为什么?

min(b,c)只取较小的b或c值并将其返回到

参数为什么要通过ref传递?该函数不会改变它的参数值吗?

1 个答案:

答案 0 :(得分:0)

因为您将vb.net设置为标记:

  1. Min()函数(Math.Min)被重载并且可以接受以下类型的参数:不同大小的字节,十进制,单,双,有符号和无符号整数(2,4或8字节)< / p>

  2. 两个参数应该是相同的类型,否则将进行隐式转换。你的陈述“那是因为虽然double可以在运行中转换为整数,但反过来却不起作用。”不准确;见下面的代码。

  3. 你的陈述“以及它应该起作用的原因是因为b和c是通过引用传递的。”也不是真的;见下面的代码。

  4. 以下代码应该编译并运行正常:

    Module VBModule
    
        Sub Main()
             Console.WriteLine(Math.Min(5.1, 4))
        End Sub
    
    End Module