我注意到,如果我这样做
a = min(b,c)
我经常收到警告,b和c都必须是double而不是整数。那是因为虽然double可以在运行中转换为整数,但另一种方法不起作用。
它应该起作用的原因是因为b和c是通过引用传递的。
然而,为什么?
min(b,c)只取较小的b或c值并将其返回到
参数为什么要通过ref传递?该函数不会改变它的参数值吗?
答案 0 :(得分:0)
因为您将vb.net设置为标记:
Min()函数(Math.Min)被重载并且可以接受以下类型的参数:不同大小的字节,十进制,单,双,有符号和无符号整数(2,4或8字节)< / p>
两个参数应该是相同的类型,否则将进行隐式转换。你的陈述“那是因为虽然double可以在运行中转换为整数,但反过来却不起作用。”不准确;见下面的代码。
你的陈述“以及它应该起作用的原因是因为b和c是通过引用传递的。”也不是真的;见下面的代码。
以下代码应该编译并运行正常:
Module VBModule
Sub Main()
Console.WriteLine(Math.Min(5.1, 4))
End Sub
End Module