c#方法重载-为什么整数方法被首先调用?为什么不加倍呢?
本文关键字:方法 为什么不 调用 重载 为什么 整数 | 更新日期: 2023-09-27 18:06:58
我试图理解关于方法重载的基本事情
如果一个类有如下重载的两个方法:
Add(int a,int b);
和
Add(double i, double y);
在Main
方法中如果我像下面这样调用方法:
Add(2, 3);
带有整型参数的方法总是被称为Add(int a,int b)
为什么不调用另一个方法Add(double i, double y)
?由于双类型也可以保存2, 3
从主方法调用传递的值。
因为编译器会调用与您调用的参数更接近的方法。如果你调用add(2,3),两个参数都是整数,它会为你调用add(int, int)。
因为2和3的类型是int
,所以具有int
参数的重载非常适合。如果你想重载double
参数调用,你必须传递双精度或浮点数。